.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2008-07-21  Andreas Krebbel  <krebbel1@de.ibm.com>
2
3         [BZ #6724]
4         * Versions.def: Add GLIBC_2.9 version tag for libutil.
5         * sysdeps/unix/sysv/linux/s390/bits/utmp.h: Copy of
6         gnu/bits/utmp.h.  Check for __WORDSIZE_COMPAT32 removed.
7         * sysdeps/unix/sysv/linux/s390/bits/utmpx.h: Copy of
8         gnu/bits/utmpx.h.  Check for __WORDSIZE_COMPAT32 removed.
9         * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Add new files
10         utmp32, utmpx32 and login32.
11         * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Add 2.9
12         versions of struct utmp functions to libc and libutil.
13         * sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h: New file.
14         * sysdeps/unix/sysv/linux/s390/s390-32/getutent.c: New file.
15         * sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: New file.
16         * sysdeps/unix/sysv/linux/s390/s390-32/getutid.c: New file.
17         * sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: New file.
18         * sysdeps/unix/sysv/linux/s390/s390-32/getutline.c: New file.
19         * sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: New file.
20         * sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c: New file.
21         * sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c: New file.
22         * sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c: New file.
23         * sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c: New file.
24         * sysdeps/unix/sysv/linux/s390/s390-32/login.c: New file.
25         * sysdeps/unix/sysv/linux/s390/s390-32/login32.c: New file.
26         * sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c: New file.
27         * sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c: New file.
28         * sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c: New file.
29         * sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: New file.
30         * sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c: New file.
31         * sysdeps/unix/sysv/linux/s390/s390-32/utmp32.h: New file.
32         * sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h: New file.
33         * sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c: New file.
34         * sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h: New file.
35
36 2008-07-26  Ulrich Drepper  <drepper@redhat.com>
37
38         * scripts/gen-as-const.awk: Generate more widely usable code by
39         using 64-bit arithmetic.
40
41         * stdio-common/printf_fp.c (___printf_fp): Give wide outout code
42         the same treatment as narow output code in last patch.
43
44         * sunrpc/clnt_udp.c (__libc_clntudp_bufcreate): Namespace cleanup.
45
46         * elf/dl-load.c (local_strdup): Remove inline.
47         (_dl_map_object_from_fd): Don't allocate l_symbolic_searchlist.r_list.
48         * elf/dl-object.c (_dl_new_object): Allocate symbolic searchlist as
49         part of the object.
50
51         * sysdeps/unix/sysv/linux/dl-origin.c: Add const to avoid warning.
52
53 2008-07-25  Ulrich Drepper  <drepper@redhat.com>
54
55         * sysdeps/unix/sysv/linux/kernel-features.h: IA-64 and SPARC have
56         the new syscalls, too.
57
58         * sysdeps/i386/i686/memcmp.S: Fix unwind information.
59         Reported by Paul Pluzhnikov <ppluzhnikov@google.com>.
60
61         [BZ #6698]
62         * stdio-common/_i18n_number.h (_i18n_number_rewrite): Take additional
63         parameter for end of buffer.  If temporary copy is too large use
64         malloc.
65         * stdio-common/vfprintf.c: Adjust for _i18n_number_rewrite
66         interface change.
67         * stdio-common/printf_fp.c (__printf_fp): Likewise..  Account for
68         string rewrite when allocating buffer.
69
70         * sysdeps/unix/sysv/linux/kernel-features.h: PPC has the new
71         syscalls, too.
72
73         * nscd/connections.c (nscd_init): Clean up fcntl call.
74
75         * nscd/nscd_helper.c (open_socket): Use SOCK_CLOEXEC and
76         SOCK_NONBLOCK if possible.
77
78         * sysdeps/unix/sysv/linux/opensock.c (__opensock): Use
79         SOCK_CLOEXEC if available.
80
81         * include/rpc/clnt.h: Declare __libc_clntudp_bufcreate and
82         __libc_clntudp_bufcreate_internal.
83         * include/sys/socket.h: Declare __have_sock_cloexec.
84         * socket/Makefile (aux): Add have_sock_cloexec.
85         * socket/have_sock_cloexec.c: New file.
86         * sunrpc/clnt_udp.h (clntudp_bufcreate): Now a wrapper around
87         __libc_clntudp_bufcreate.
88         (__libc_clntudp_bufcreate): Former implementation of clntudp_bufcreate
89         which takes an additional parameter.  Create socket with non-blocking
90         mode and close-on-exec flag set, if wanted.
91         * sunrpc/Versions: Export __libc_clntudp_bufcreate@GLIBC_PRIVATE.
92         * nis/ypclnt.c (yp_bind_client_create): Use __libc_clntpudp_bufcreate
93         instead of clntudp_create.  The socket has already the close-on-exec
94         flag set if SOCK_CLOEXEC is defined.
95
96 2008-07-24  Ulrich Drepper  <drepper@redhat.com>
97
98         * sysdeps/unix/sysv/linux/kernel-features.h: Define
99         __ASSUME_PACCEPT, __ASSUME_IN_NONBLOCK, and __ASSUME_PACCEPT if
100         appropriate.
101         * nscd/connections.c: Avoid fcntl calls to set close-on-exec flag and
102         non-blocking mode by using socket, paccept, and inotify_init1.
103
104         * Versions.def (glibc): Add GLIBC_2.9.
105         * io/Makefile (routines): Add dup3 and pipe2.
106         * io/Versions [glibc] (GLIBC_2.9): Add dup3 and pipe2.
107         * io/dup3.c: New file.
108         * io/pipe2.c: New file.
109         * posix/unistd.h: Declare dup3 and pipe2.
110         * socket/Makefile (routines): Add paccept.
111         * socket/Versions [glibc] (GLIBC_2.9): Add paccept.
112         * socket/paccept.c: New file.
113         * socket/sys/socket.h: Declare paccept.
114         * sysdeps/unix/syscalls.list: Add entry for dup3.
115         * sysdeps/unix/sysv/linux/Versions [glibc] (GLIBC_2.9): Add
116         epoll_create2 and inotify_init1.
117         * sysdeps/unix/sysv/linux/eventfd.c: Use eventfd1 syscall if possible.
118         * sysdeps/unix/sysv/linux/paccept.c: New file.
119         * sysdeps/unix/sysv/linux/signalfd.c: Use signalfd4 syscall if
120         possible.
121         * sysdeps/unix/sysv/linux/socketcall.h: Add SOCKOP_paccept.
122         * sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create2,
123         inotify_init1, and pipe2 entries.
124         * sysdeps/unix/sysv/linux/alpha/sys/epoll.h: New file.
125         * sysdeps/unix/sysv/linux/alpha/sys/eventfd.h: New file.
126         * sysdeps/unix/sysv/linux/alpha/sys/inotify.h: New file.
127         * sysdeps/unix/sysv/linux/alpha/sys/signalfd.h: New file.
128         * sysdeps/unix/sysv/linux/alpha/sys/timerfd.h: New file.
129         * sysdeps/unix/sysv/linux/bits/socket.h: Define SOCK_CLOEXEC and
130         SOCK_NONBLOCK.
131         * sysdeps/unix/sysv/linux/i386/paccept.S: New file.
132         * sysdeps/unix/sysv/linux/sparc/sys/epoll.h: New file.
133         * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: New file.
134         * sysdeps/unix/sysv/linux/sparc/sys/inotify.h: New file.
135         * sysdeps/unix/sysv/linux/sparc/sys/signalfd.h: New file.
136         * sysdeps/unix/sysv/linux/sparc/sys/timerfd.h: New file.
137         * sysdeps/unix/sysv/linux/sparc/bits/socket.h: New file.
138         * sysdeps/unix/sysv/linux/sys/epoll.h: Define EPOLL_CLOEXEC and
139         EPOLL_NONBLOCK.  Declare epoll_create2.
140         * sysdeps/unix/sysv/linux/sys/eventfd.h: Define EFD_CLOEXEC and
141         EFD_NONBLOCK.
142         * sysdeps/unix/sysv/linux/sys/inotify.h: Define IN_CLOEXEC and
143         IN_NONBLOCK.  Declare inotify_init1.
144         * sysdeps/unix/sysv/linux/sys/signalfd.h: Define SFD_CLOEXEC and
145         SFD_NONBLOCK.
146         * sysdeps/unix/sysv/linux/sys/timerfd.h: Define TFD_CLOEXEC and
147         TFD_NONBLOCK.
148
149         * elf/elf.h: Define AT_EXECFN.
150         * elf/rtld.c [!__ASSUME_AT_EXECFN] (process_envvars): Don't handle
151         LD_ORIGIN_PATH.
152         * elf/dl-sysdep.c (_dl_sysdep_start): Handle AT_EXECFN.
153         * elf/dl-support.c: Define _dl_execfn.  Don't define _dl_origin_path
154         if __ASSUME_AT_EXECFN is defined.
155         (_dl_aux_init): Handle AT_EXECFN.
156         * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_EXECFN
157         for 2.6.27 and up.
158         * sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_execfn.
159         Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined.
160         * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use
161         _dl_execfn if available and avoid compatibility code if
162         __ASSUME_AT_EXECFN is defined.
163
164         * sysdeps/unix/sysv/linux/dl-sysdep.h: Don't declare
165         _dl_discover_osversion only for older kernels.
166
167 2008-07-22  Roland McGrath  <roland@frob.com>
168
169         * hurd/fd-read.c (_hurd_fd_read): Fix last change.
170
171 2008-07-21  Roland McGrath  <roland@frob.com>
172
173         * hurd/fd-read.c (_hurd_fd_read): Return EGRATUITOUS if the server
174         returned too much data out of line.
175
176 2008-07-20  Ulrich Drepper  <drepper@redhat.com>
177
178         * locale/setlocale.c (setname): Remove inline to avoid compiler
179         warning.
180
181         [BZ #6712]
182         * locale/setlocale.c (setlocale): Take the setlocale lock earlier.
183
184 2008-07-15  Ulrich Drepper  <drepper@redhat.com>
185
186         * stdio-common/vfprintf.c (_IO_helper_overflow): In case _IO_sputn
187         doesn't manage to write anything, fail.
188
189         * malloc/hooks.c (__malloc_check_init): Remove printf.
190
191 2008-07-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>
192
193         * sysdeps/mach/hurd/bits/fcntl.h: Include <sys/types.h>.
194
195 2008-07-12  Ulrich Drepper  <drepper@redhat.com>
196
197         * nscd/connections.c (main_loop_poll): Fix handling of read errors
198         from inotify.
199         (main_loop_epoll): Likewise.
200
201 2008-07-09  Ulrich Drepper  <drepper@redhat.com>
202
203         * resolv/res_send.c: Remove unnecessary res_pquery prototype.
204
205         * resolv/res_query.c (__libc_res_nquery): Issue debug message only
206         if DEBUG is defined.
207
208         * resolv/res_query.c (__libc_res_nquery): Align buffer for T_AAAA
209         query.  Adjust buffer size computation for padding.
210
211 2008-07-08  Ulrich Drepper  <drepper@redhat.com>
212
213         * stdio-common/Makefile: Add rules to build and run tst-setvbuf1.
214         * stdio-common/tst-setvbuf1.c: New file.
215         * stdio-common/tst-setvbuf1.expect: New file.
216
217         [BZ #6719]
218         * libio/iosetvbuf.c (_IO_setvbuf): Correctly clear buffering flags
219         when selecting fully-buffered stream.
220         Patch by Wang Xin <wxinee@gmail.com>.
221
222 2008-07-06  Samuel Thibault  <samuel.thibault@ens-lyon.org>
223
224         * sysdeps/mach/hurd/open.c: Include <stdio.h>.
225         (__open_2): New function.
226         (__open64_2): New alias to __open_2.
227         * sysdeps/mach/hurd/openat.c: Include <stdio.h>.
228         (__openat_2): New function.
229         (__openat64_2): New alias to __openat_2.
230
231 2008-07-06  Ulrich Drepper  <drepper@redhat.com>
232
233         [BZ #6723]
234         * time/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
235
236 2008-07-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>
237
238         * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Define MSG_NOSIGNAL.
239         * hurd/hurd/fd.h (__hurd_sockfail): Add extern inline function.
240         * sysdeps/mach/hurd/recv.c (__recv): Use __hurd_sockfail instead of
241         __hurd_dfail.
242         * sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise.
243         * sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise.
244         * sysdeps/mach/hurd/send.c (__send): Likewise.
245         * sysdeps/mach/hurd/sendto.c (__sendfrom): Likewise.
246         * sysdeps/mach/hurd/sendmsg.c (__sendmsg): Likewise.
247
248 2008-03-04  Samuel Thibault  <samuel.thibault@ens-lyon.org>
249
250         * sysdeps/mach/hurd/recv.c (__recv): Initialize NPORTS.
251         * sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise.
252         * sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise.
253         * hurd/fd-read.c (_hurd_fd_read): Initialize NREAD.
254         * hurd/get-host.c (_hurd_get_host_config): Likewise.
255         * sysdeps/mach/hurd/dl-sysdep.c (__libc_read): Likewise.
256
257 2008-06-27  Ulrich Drepper  <drepper@redhat.com>
258
259         [BZ #6657]
260         * time/strptime_l.c: Don't clear s.era_cnt after successful match
261         of %EY.
262         Patch by Petr Baudis.
263
264 2008-06-26  Ulrich Drepper  <drepper@redhat.com>
265
266         * resolv/res_debug.c (__p_type_syms): Add ns_t_dname entry.
267         Patch by Peter Jones <pjones@redhat.com>.
268
269 2008-06-25  Ulrich Drepper  <drepper@redhat.com>
270
271         [BZ #6654]
272         * stdlib/canonicalize.c (__realpath): readlink can write too much
273         into the buffer on platforms without PATH_MAX.
274
275 2008-06-17  Carlos O'Donell  <carlos@codesourcery.com>
276
277         [BZ #6653]
278         * posix/tst-regex.c (main): Rename to...
279         (do_test): ... this. Remove cmdline option processing.
280         (TIMEOUT): Define.
281         (TEST_FUNCTION): Define.
282         (CMDLINE_OPTIONS): Define.
283
284 2008-06-25  Ulrich Drepper  <drepper@redhat.com>
285
286         [BZ #5210]
287         * configure.in: Add -Werror to -fstack-protector test to catch
288         unsupported architectures.
289         Patch by Gilles Esponasse <g.esp@free.fr>.
290
291 2008-06-17  Joseph Myers  <joseph@codesourcery.com>
292
293         * stdlib/tst-setcontext.c: Set back_in_main before exit if
294         getcontext returns ENOSYS.
295
296 2008-06-18  Ulrich Drepper  <drepper@redhat.com>
297
298         * nscd/connections.c (main_loop_poll): Fix test for read error.
299         (main_loop_epoll): Likewise.
300
301 2008-06-13  Ulrich Drepper  <drepper@redhat.com>
302
303         * sysdeps/posix/getaddrinfo.c: Move _res_hconf_init call to a
304         better place so it is not called when nscd is used.
305
306         * nscd/connections.c: Also recognize and handle changes to the
307         resolver configuration file.
308
309 2008-06-12  Ulrich Drepper  <drepper@redhat.com>
310
311         * time/strftime.c: Pass reference to tzset_called around to handle
312         recursive calls.
313
314         [BZ #6612]
315         * time/strftime.c (__strftime_internal): Call tzset() only
316         when printing timezone-dependent values.
317         Based on a patch by Petr Baudis <pasky@suse.cz>.
318
319         * resolv/nss_dns/dns-host.c (gaih_getanswer): Don't
320         unconditionally use second gaih_getanswer_slice result.
321
322         * sysdeps/posix/getaddrinfo.c (gai_inet): Remove unnecessary test.
323         (getaddrinfo): RES must always be non-NULL.
324
325 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
326
327         * sysdeps/powerpc/powerpc64/fpu/s_llround.S (__llround): Avoid using
328         cr[34] registers.
329         * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S (__llroundf): Likewise.
330         * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround):
331         Likewise.
332         * sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Avoid using cr3
333         register.
334
335 2008-06-12  Ulrich Drepper  <drepper@redhat.com>
336
337         * nscd/nscd.h (struct database_dyn): Add inotify_descr and clear_cache
338         fields.
339         * nscd/connections.c (inotify_fd): New variable.
340         (nscd_init): Try to open an inotify descriptor.
341         If successful, watch files for databases using inotify instead of
342         having prune threads stat the files.
343         (nscd_run_prune): Recognize clear_cache flag being set and call
344         prune_cache appropriately.
345         (main_loop_poll): Add inotify descriptor to wait set and handle the
346         reported changes.
347         (main_loop_epoll): Likewise.
348         * nscd/cache.c (prune_cache): Don't stat files for databases if
349         inotify is used.
350         * sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
351         (CFLAGS-connections.c): Add -DHAVE_INOTIFY.
352
353         * nscd/grpcache.c (cache_addgr): Correctly compute size of
354         fixed-size portion of the record.
355         * nscd/servicescache.c (cache_addserv): Likewise.
356         * nscd/pwdcache.c (cache_addpw): Likewise.
357         * nscd/initgrcache.c (addinitgroupsX): Likewise.
358
359 2008-06-11  Ulrich Drepper  <drepper@redhat.com>
360
361         * nscd/mem.c (gc): Initialize obstack earlier so that if we jump
362         out we don't use uninitialized memory.
363
364         * nscd/hstcache.c (cache_addhst): Send correct number of bytes to
365         the client.
366
367 2008-06-10  Ulrich Drepper  <drepper@redhat.com>
368
369         * resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Also log and
370         ignore T_DNAME messages.
371         * resolv/arpa/nameser_compat.h (T_DNAME): Define.
372
373 2008-06-05  Jakub Jelinek  <jakub@redhat.com>
374
375         * misc/regexp.h (compile): Use __REPB_PREFIX macro.
376         Avoid segfault if first GETC returns eof/'\0'/'\n'.
377
378 2008-06-03  Jakub Jelinek  <jakub@redhat.com>
379
380         * nscd/nscd_getserv_r.c (__nscd_getservbyport_r): Pass cp
381         instead of portstr to nscd_getserv_r.  Patch by
382         Roman Kagan <rkagan@mail.ru>.
383
384 2008-05-26  Jim Meyering  <meyering@redhat.com>
385
386         Remove more useless "if" tests before "free".
387         * include/inline-hashtab.h (htab_delete): Likewise.
388         * libio/freopen.c (freopen): Likewise.
389         * libio/freopen64.c (freopen64): Likewise.
390         * locale/programs/ld-collate.c (collate_read): Likewise.
391         * misc/fstab.c (libc_freeres_fn): Likewise.
392         * posix/glob.c (globfree): Likewise.
393
394 2008-05-24  Ulrich Drepper  <drepper@redhat.com>
395
396         * string/Makefile (strop-tests): Add memmem.
397         * string/test-memmem.c: New file.
398         * string/test-string.h (BUF1PAGES): Define to 1 if undefined.
399         (test_init): Size buf1 according to BUF1PAGES.
400
401 2008-05-24  Jakub Jelinek  <jakub@redhat.com>
402
403         * libio/stdio.h (vscanf): Fix -std=c99 redirect.
404         * stdio-common/Makefile (tests): Add scanf16 and scanf17.
405         (CFLAGS-scanf17.c): New.
406         * stdio-common/scanf14.c (main): Add fscanf and scanf tests.
407         * stdio-common/scanf15.c (main): Likewise.
408         * stdio-common/scanf16.c: New file.
409         * stdio-common/scanf17.c: New file.
410
411 2008-05-24  Ulrich Drepper  <drepper@redhat.com>
412
413         * resolv/res_send.c (send_dg): If we already have one of two
414         answers and the server reports SERVFAIL, NOTIMP, or REFUSED, then
415         use the one answer insted of failing.
416
417 2008-02-20  Ryan S. Arnold  <rsa@us.ibm.com>
418
419         * math/libm-test.inc (exp_test): Exclude expl(1000.0L) from
420         being executed on PowerPC as the expected result exceeds IBM
421         long double 128 __LDBL_MAX__.
422
423 2008-05-21  Roland McGrath  <roland@redhat.com>
424
425         * shlib-versions (sparc.*-.*-.*, sparc64.*-.*-.*): Add ABI lines.
426
427         * Makefile (check-data): Use $(abi-name) before other guesses.
428         Look in $(add-ons) dirs before scripts/data/.
429         * elf/Makefile (check-data): Likewise.
430
431         * scripts/soversions.awk: Grok ABI line.
432         * Makeconfig ($(common-objpfx)soversions.mk): Likewise.
433         Emit definition for abi-name variable.
434
435 2008-05-21  Ulrich Drepper  <drepper@redhat.com>
436
437         * string/endian.h: Define new fixed-size hto* and *toh macros only
438         if [__USE_BSD].
439
440         * iconvdata/Depend: Add localedata.
441
442 2008-05-21  Samuel Thibault  <samuel.thibault@ens-lyon.org>
443
444         * bits/termios.h (ONLCR): Define under [__USE_XOPEN] too.
445
446 2008-05-08  David S. Miller  <davem@davemloft.net>
447
448         * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Use
449         HIDDEN_JUMPTARGET.
450         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
451         (__SYSCALL_CLOBBERS): Remove %g* registers.
452         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
453         (__SYSCALL_CLOBBERS): Likewise.
454         * scripts/data/localplt-sparc-linux-gnu.data: New file.
455         * scripts/data/localplt-sparc64-linux-gnu.data: New file.
456
457 2008-05-21  Jakub Jelinek  <jakub@redhat.com>
458
459         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
460         (CALL_ERRNO_LOCATION): Define.
461         (__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it.
462         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
463         (CALL_ERRNO_LOCATION): Define.
464         (__SYSCALL_STRING, __CLONE_SYSCALL_STRING): Use it.
465         * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S (__brk): Use
466         HIDDEN_JUMPTARGET for __errno_location call in libc.so.
467
468 2008-05-20  Ulrich Drepper  <drepper@redhat.com>
469
470         * include/inline-hashtab.h (higher_prime_number): Fix type of mid
471         variable.
472
473 2008-05-20  Jakub Jelinek  <jakub@redhat.com>
474
475         * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
476         (FIRST_FRAME_POINTER): Define.
477
478 2008-05-09  David S. Miller  <davem@davemloft.net>
479
480         * sysdeps/sparc/sparc64/backtrace.c: New file.
481
482 2008-05-14  David S. Miller  <davem@davemloft.net>
483
484         * sysdeps/sparc/machine-gmon.h: New file.
485         * sysdeps/sparc/sparc-mcount.S: Likewise.
486         * sysdeps/sparc/Makefile: Add sparc-mcount target to
487         sysdep_routines in gmon directory.
488
489 2008-05-19  Jakub Jelinek  <jakub@redhat.com>
490
491         * elf/soinit.c (__EH_FRAME_BEGIN__): Remove.
492
493 2008-05-19  Ulrich Drepper  <drepper@redhat.com>
494
495         * resolv/res_query.c (__libc_res_nquery): In case one of two
496         answer was too short don't try to read that answer's header.
497
498         * resolv/res_send.c (send_dg): In case of timeout and there are
499         two queries and one has been answered, return value indicating
500         success.
501
502 2008-05-18  Ulrich Drepper  <drepper@redhat.com>
503
504         * nscd/cache.c (cache_add): Take additional parameter specifying
505         whether this is in response of a cache refill.  Check alignment
506         of package data.  Revamp waking of pruning thread.
507         (prune_cache): Small optimization.
508         * nscd/nscd.h: Adjust cache_add prototypes.
509         * nscd/aicache.c: Adjust cache_add calls.
510         * nscd/grpcache.c: Likewise.
511         * nscd/hstcache.c: Likewise.
512         * nscd/initgrcache.c: Likewise.
513         * nscd/pwdcache.c: Likewise.
514         * nscd/servicescache.c: Likewise.
515         * nscd/connections.c (restart): Really disable cache use before
516         exec attempt.  If it fails, reenable cache.
517         (nscd_run_prune): Initialize wakeup_time.  After wakeup, set wakeup
518         time to max to be able to notice concurrent cache additions.  Unlock
519         prune_lock while performing gc.  Afterwards compute wakeup time with
520         current wakeup_time value in mind.
521
522 2008-05-17  Ulrich Drepper  <drepper@redhat.com>
523
524         * nscd/mem.c (gc): Avoid stack overflow when allocating move list.
525
526         * nscd/mem.c (gc): Correctly determine highest used array element
527         in mark.
528
529         * nscd/mem.c (markrange): Add assert to check entries are all
530         aligned.  Small cleanup in bitmap use.
531
532         * nscd/nscd.h (mem_in_flight): Replace blockaddr field with
533         blockoff of type nscd_ssize_t.
534         * nscd/mem.c (gc): Simplify markrange call for on-flight blocks.
535         (mempoll_alloc): Record block offset and not address.
536
537         * nscd/mem.c (gc): Fix test for stack overuse.
538
539         * nscd/aicache.c (addhstaiX): Fix a few small problems, cleanups,
540         more asserts.
541
542         * sysdeps/posix/getaddrinfo.c (gaih_inet): If nscd reports no
543         entry is available, believe it.
544
545         * resolv/nss_dns/dns-host.c (gaih_getanswer_slice): If there are
546         no answers return NSS_STATUS_NOTFOUND.
547         (gaih_getanswer): Don't call gaih_getanswer_slice if the answer
548         buffer does not have any content.
549
550 2008-05-16  Ulrich Drepper  <drepper@redhat.com>
551
552         * string/strcasestr.c (CMP_FUNC): Use __strncasecmp, not strncasecmp.
553
554         * sysdeps/posix/getaddrinfo.c (gaih_inet): After gethostbyname4_r
555         lookup, don't assign canon unconditionally.
556
557 2008-05-14  Ulrich Drepper  <drepper@redhat.com>
558
559         * string/Makefile (distribute): Add str-two-way.h.
560
561 2008-03-29  Eric Blake  <ebb9@byu.net>
562
563         Rewrite string searches to O(n) rather than O(n^2).
564         * string/str-two-way.h: New file.  For linear fixed-allocation
565         string searching.
566         * string/memmem.c: New implementation.
567         * string/strstr.c: New implementation.
568         * string/strcasestr.c: New implementation.
569
570 2008-04-11  Paolo Bonzini  <bonzini@gnu.org>
571
572         * posix/regcomp.c (optimize_utf8): Add a note on why we test
573         opr.ctx_type.
574         (calc_first): Initialize constraint field.
575         (duplicate_node_closure): Use it instead of special casing ANCHORS.
576         Use search_duplicated_node to avoid loops.  Fix grammar.
577         (duplicate_node): Merge constraint field for all node types.
578         (calc_eclosure_iter): Look at constraint field for all node types.
579         * posix/regex_internal.c (create_cd_newstate): Don't look at
580         create_cd_newstate.
581
582 2008-05-14  Ulrich Drepper  <drepper@redhat.com>
583
584         [BZ #6428]
585         * configure.in: Don't use $CFLAGS when assembling, use $ASFLAGS.
586
587         [BZ #6442]
588         * string/endian.h: Add macros for fixed-size endian conversion.
589         * bits/byteswap.h: Allow inclusion from <endian.h>.
590         * sysdeps/i386/bits/byteswap.h: Likewise.
591         * sysdeps/ia64/bits/byteswap.h: Likewise.
592         * sysdeps/s390/bits/byteswap.h: Likewise.
593         * sysdeps/x86_64/bits/byteswap.h: Likewise.
594         * string/Makefile (tests): Add tst-endian.
595         * string/tst-endian.c: New file.
596
597         * iconvdata/run-iconv-test.sh: Use = instead of == in test.
598         Patch by Reuben Thomas.
599
600 2008-05-14  Joseph Myers  <joseph@codesourcery.com>
601
602         * iconvdata/Makefile (bug-iconv6-ENV, tst-iconv7-ENV): Define.
603
604 2008-05-14  Ulrich Drepper  <drepper@redhat.com>
605
606         * iconvdata/bug-iconv6.c (do_test): Use de_DE.UTF-8 locale.
607
608         [BZ #6461]
609         * iconv/gconv_simple.c (BODY for __gconv_transform_ascii_internal):
610         Add missing braces.
611         (BODY for __gconv_transform_internal_ascii): Likewise.
612
613         [BZ #6472]
614         * sysdeps/posix/getaddrinfo.c (get_scope): Loopback addresses have
615         to be treated like link-local addresses.
616         (match_prefix): Don't treat IPv4 loopback address special when
617         converting to v4 mapped addressed.
618
619         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Call _res_hconf_init
620         if necessary.
621         * posix/tst-rfc3484.c: Add dummy definition of _res_hconf_init.
622         * posix/tst-rfc3484-2.c: Likewise.
623         * posix/tst-rfc3484-3.c: Likewise.
624
625         * sysdeps/posix/getaddrinfo.c: Implement handling of DCCP, UDPlite,
626         and SCTP.
627
628         * nss/getent.c (ahosts_keys_int): Handle all known socket types.
629
630         * inet/netinet/in.h (IPPIPPROTO_DCCP, IPPROTO_UDPLITE): Define.
631
632         * sysdeps/unix/sysv/linux/bits/socket.h (SOCK_DCCP): Define.
633
634 2008-05-13  Ulrich Drepper  <drepper@redhat.com>
635
636         * po/lt.po: New file.  From Lituanian translation team.
637
638 2008-01-30  Alexandre Oliva  <aoliva@redhat.com>
639
640         Introduce TLS descriptors for i386 and x86_64.
641         * include/inline-hashtab.h: New file, copied from 2005's
642         libiberty, with fix for memory leak imported afterwards by
643         Glauber de Oliveira Costa.
644         * elf/tlsdeschtab.h: New file.
645         * elf/dl-reloc.c (_dl_try_allocate_static_tls): Extract from...
646         (_dl_allocate_static_tls): ... here.  Rearrange failure path.
647         (CHECK_STATIC_TLS): Move to...
648         * elf/dynamic-link.h: ... this file.
649         (TRY_STATIC_TLS): New macro.
650         * elf/dl-conflict.c (CHECK_STATIC_TLS, TRY_STATIC_TLS): Override.
651         * elf/elf.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL,
652         R_386_TLS_DESC): Define.
653         (R_X86_64_PC64, R_X86_GOTOFF64, R_X86_64_GOTPC32): Merge from
654         binutils.
655         (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL,
656         R_X86_64_TLSDESC): Define.
657         (R_386_NUM, R_X86_64_NUM): Adjust.
658         * sysdeps/i386/Makefile (sysdep-dl-routines, sysdep_routines,
659         sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
660         (gen-as-const-headers): Add tlsdesc.sym to csu subdir.
661         * sysdeps/i386/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
662         release tlsdesc_table.
663         * sysdeps/i386/dl-machine.h: Include dl-tlsdesc.h.
664         (elf_machine_type_class): Mark R_386_TLS_DESC as PLT class.
665         (elf_machine_rel): Handle R_386_TLS_DESC.
666         (elf_machine_rela): Likewise.
667         (elf_machine_lazy_rel): Likewise.
668         (elf_machine_lazy_rela): Likewise.
669         * sysdeps/i386/dl-tls.h (struct dl_tls_index): Name it.
670         * sysdeps/i386/dl-tlsdesc.S: New file.
671         * sysdeps/i386/dl-tlsdesc.h: New file.
672         * sysdeps/i386/tlsdesc.c: New file.
673         * sysdeps/i386/tlsdesc.sym: New file.
674         * sysdeps/i386/bits/linkmap.h (struct link_map_machine): Add
675         tlsdesc_table.
676         * sysdeps/x86_64/Makefile (sysdep-dl-routines, sysdep_routines,
677         sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
678         (gen-as-const-headers): Add tlsdesc.sym to csu subdir.
679         * sysdeps/x86_64/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
680         release tlsdesc_table.
681         * sysdeps/x86_64/dl-machine.h: Include dl-tlsdesc.h.
682         (elf_machine_runtime_setup): Set up lazy TLSDESC GOT entry.
683         (elf_machine_type_class): Mark R_X86_64_TLSDESC as PLT class.
684         (elf_machine_rel): Handle R_X86_64_TLSDESC.
685         (elf_machine_rela): Likewise.
686         (elf_machine_lazy_rel): Likewise.
687         * sysdeps/x86_64/dl-tls.h (struct dl_tls_index): Name it.
688         (__tls_get_addr): Do not declare for non-shared compiles.
689         * sysdeps/x86_64/dl-tlsdesc.S: New file.
690         * sysdeps/x86_64/dl-tlsdesc.h: New file.
691         * sysdeps/x86_64/tlsdesc.c: New file.
692         * sysdeps/x86_64/tlsdesc.sym: New file.
693         * sysdeps/x86_64/bits/linkmap.h (struct link_map_machine): Add
694         tlsdesc_table for both 32- and 64-bit structs.
695
696 2008-05-11  Ulrich Drepper  <drepper@redhat.com>
697
698         * elf/dl-tls.c (__tls_get_addr): Optimize by moving slow path in
699         its own function.  This reduces the frame setup costs and more.
700
701 2008-02-11  Joseph Myers  <joseph@codesourcery.com>
702
703         [BZ #3406]
704         * sysdeps/ieee754/flt-32/w_expf.c (o_threshold): Correct value.
705         * math/libm-test.inc (exp_test): Test 88.72269439697265625.
706
707 2008-05-11  Ulrich Drepper  <drepper@redhat.com>
708
709         * io/openat.c (__openat_2): Also pass fd to __openat.
710         * io/openat64.c (__openat64_2): Also pass fd to __openat64.
711         Patch by Kristian Van Der Vliet <vanders@liqwyd.com>.
712
713         * string/tester.c (test_memcmp): Add a few more tests.
714         Patch by Mats Erik Andersson <ynglingatal@comhem.se>.
715
716 2008-05-10  Ulrich Drepper  <drepper@redhat.com>
717
718         * nscd/cache.c (cache_add): Before returning with failure and this
719         is the first use of the record, mark it as unusable.
720         * nscd/aicache.c: Don't touch the dataset after cache_add returns
721         reporting a failure.
722         * nscd/grpcache.c: Likewise
723         * nscd/hstcache.c: Likewise.
724         * nscd/initgrcache.c: Likewise.
725         * nscd/pwdcache.c: Likewise.
726         * nscd/servicescache.c: Likewise.
727
728 2008-05-10  Roland McGrath  <roland@redhat.com>
729
730         [BZ #6505]
731         * sysdeps/unix/sysv/linux/sys/user.h: Replace with #error stub.
732
733 2008-05-08  David S. Miller  <davem@davemloft.net>
734
735         * misc/truncate64.c (truncate64): Use __truncate not truncate.
736
737         * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee751_j0l): Use __finitel.
738         (__ieee754_y0l): Likewise.
739         * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise.
740         (__ieee754_y1l): Likewise.
741         * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Use __ldexpl.
742         * sysdeps/ieee754/ldbl-128/s_log1pl.c: Kill bogus prototypes for
743         frexpl and ldexpl.  math_private.h provides them and the latter
744         is not even used.
745         (__log1pl): Use __frexpl.
746
747 2008-05-10  Ulrich Drepper  <drepper@redhat.com>
748
749         * include/resolv.h: Adjust __libc_res_nquery and __libc_res_nsend
750         prototypes.
751         * include/arpa/nameser_compat.h: Define T_UNSPEC.
752         * nis/Versions (libnss_nis): Export _nss_nis_gethostbyname4_r.
753         (libnss_nisplus): Export _nss_nisplus_gethostbyname4_r.
754         * nis/nss_nis/nis-hosts.c (LINE_PARSER): Change to also handle
755         af==AF_UNSPEC.
756         (_nss_nis_gethostbyname4_r): New function.
757         * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
758         Change to also handle af==AF_UNSPEC.
759         (get_tablename): New function.  Use it to avoid duplication.
760         (_nss_nisplus_gethostbyname4_r): New function.
761         * nscd/aicache.c (addhstaiX): Use gethostbyname4_r function is
762         available.
763         * nss/Versions (libnss_files): Export _nss_files_gethostbyname4_r.
764         * nss/nss.h: Define struct gaih_addrtuple.
765         * nss/nss_files/files-hosts.c (LINE_PARSER): Change to also handle
766         af==AF_UNSPEC.
767         (_nss_files_gethostbyname4_r): New function.
768         * resolv/Versions (libnss_dns): Export _nss_dns_gethostbyname4_r.
769         * resolv/gethnmaddr.c: Adjust __libc_res_nsearch and __libc_res_nquery
770         calls.
771         * resolv/res_query.c (__libc_res_nquery): Take two additional
772         parameters for second answer buffer.  Handle type=T_UNSPEC to mean
773         look up IPv4 and IPv6.
774         Change all callers.
775         * resolv/res_send.c (__libc_res_nsend): Take five aditional parameters
776         for an additional query and answer buffer.  Pass to send_vc and
777         send_dg.
778         (send_vc): Send possibly two requests and receive two answers.
779         (send_dg): Likewise.
780         * resolv/nss_dns/dns-host.c: Adjust calls to __libc_res_nsearch and
781         __libc_res_nquery.
782         (_nss_dns_gethostbyname4_r): New function.
783         (gaih_getanswer_slice): Likewise.
784         (gaih_getanswer): Likewise.
785         * resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Adjust
786         __libc_res_nquery call.
787         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
788         (_nss_dns_getnetbyname_r): Adjust __libc_res_nsearch call.
789         * sysdeps/posix/getaddrinfo.c: Use gethostbyname4_r function is
790         available.
791
792 2008-05-05  David S. Miller  <davem@davemloft.net>
793
794         * sysdeps/sparc/sparc32/Makefile: Use -mcpu=v7 for initfini.s build.
795         * sysdeps/sparc/sparc64/Makefile: Use -mcpu=v9 for initfini.s build.
796
797 2007-09-14  Samuel Thibault  <samuel.thibault@ens-lyon.org>
798
799         Fix termios bit macros.
800         Move *DLY definitions where they belong, in termios.h.
801         Add *[0-3] definitions.
802         Fixes confusion between VT and FF.
803         * sysdeps/mach/hurd/bits/ioctls.h (NL0, NL1, TAB0, TAB1, TAB2, CR0,
804         CR1, CR2, CR3, FF0, FF1, BS0, BS1): Undefine these at start if they
805         are already defined to avoid collision with termios.h.
806         (NLDLY, TABDLY, TAB3, CRDLY, VTDLY, BSDLY): Remove macros.
807         * bits/termios.h [__USE_MISC || __USE_XOPEN] (NL0, NL1, TAB0,
808         TAB1, TAB2, CR0, CR1, CR2, CR3, FF0, FF1, BS0, BS1): Likewise.
809         [__USE_BSD || __USE_XOPEN] (OCRNL, ONOCR, ONLRET): New macros.
810         [__USE_MISC || __USE_XOPEN] (NLDLY, NL0, NL1, TABDLY, TAB0, TAB1, TAB2,
811         TAB3, CRDLY, CR0, CR1, CR2, CR3, FFDLY, FF0, FF1, BSDLY, BS0, BS1,
812         VTDLY, VT0, VT1): New macros.
813         [__USE_GNU] (OLCUC): Change value of macro.
814         [__USE_XOPEN] (OFILL): New macro.
815         [__USE_BSD] (CRTSCTS): Change value.
816         (CRTS_IFLOW, CCTS_OFLOW): Change into compatibility macros.
817         [__USE_BSD] (CDTRCTS, CHWFLOW): New macros.
818         (B7200, B14400, B28800, B76800): New macros.
819
820 2008-05-01  David S. Miller  <davem@davemloft.net>
821
822         * sysdeps/unix/sysv/linux/sparc/sparc32/ucontext_i.sym: New file.
823         * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile [$(subdir) = stdlib]:
824         (gen-as-const-headers): Add it.
825         * sysdeps/unix/sysv/linux/sparc/sparc32/getcontext.S: New file.
826         * sysdeps/unix/sysv/linux/sparc/sparc32/makecontext.c: Likewise.
827         * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Likewise.
828         * sysdeps/unix/sysv/linux/sparc/sparc32/swapcontext.S: Likewise.
829
830         * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S: Add support for
831         six system call parameters.
832         * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
833
834 2008-04-30  Ulrich Drepper  <drepper@redhat.com>
835
836         * sysdeps/unix/sysv/linux/bits/resource.h: Define RUSAGE_THREAD and
837         RUSAGE_LWP.
838         * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
839         * sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
840
841 2008-04-30  Jakub Jelinek  <jakub@redhat.com>
842
843         * stdlib/tst-setcontext.c: Include unistd.h.
844
845 2008-04-25  David S. Miller  <davem@davemloft.net>
846
847         * sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c (semctl):
848         Pass "union semun" properly in to sys_ipc, it must be passed
849         by value, not by reference.
850
851 2008-04-22  Jakub Jelinek  <jakub@redhat.com>
852
853         * nscd/Makefile (nscd-cflags): Set back to -fpie.
854         * nscd/nscd.h (mem_in_flight): Add attribute_tls_model_ie.
855         * nscd/connections.c (mem_in_flight): Likewise.
856
857         * nscd/nscd.h (dbs): Make hidden.
858
859         * sysdeps/unix/sysv/linux/times.c (__times): Fix check for EFAULT.
860         Avoid returning -1, return 0 instead.
861
862 2008-04-19  Ulrich Drepper  <drepper@redhat.com>
863
864         * resolv/res_mkquery.c (__res_nopt): Use NS_PUT16 instead of ns_put16.
865
866 2008-04-15  Ulrich Drepper  <drepper@redhat.com>
867
868         [BZ #5209]
869         * sysdeps/unix/sysv/linux/times.c: New file.
870
871         [BZ #5381]
872         * nscd/nscd.h: Define enum in_flight, mem_in_flight, and
873         mem_in_flight_list variables.  Add new parameter to mempool_alloc
874         prototype.
875         * nscd/mem.c (mempool_alloc): Take additional parameter.  Initialize
876         appropriate mem_in_flight element.
877         (gc): Take allocations which have not yet been committed to the
878         database into account.
879         * nscd/cache.c (cache_add): Add new parameter to mempool_alloc call.
880         Reset mem_in_flight before returning.
881         * nscd/connections.c (nscd_run_worker): Initialize mem_in_flight and
882         cue it up in mem_in_flight_list.
883         * nscd/aicache.c: Adjust mempool_alloc call.
884         * nscd/grpcache.c: Likewise.
885         * nscd/hstcache.c: Likewise.
886         * nscd/initgrcache.c: Likewise.
887         * nscd/pwdcache.c: Likewise.
888         * nscd/servicescache.c: Likewise.
889         * nscd/Makefile (nscd-flags): Until ld is fixed, use -fpic instead
890         of -fpie.
891
892         * nscd/connections.c (handle_request): Provide better error message
893         in case SELinux forbids the service.
894
895         * version.h (VERSION): Bump to 2.8.90.
896
897 2008-04-17  Jakub Jelinek  <jakub@redhat.com>
898
899         * sysdeps/unix/sysv/linux/dl-osinfo.h: Include fcntl.h.
900
901 2008-04-11  Ulrich Drepper  <drepper@redhat.com>
902
903         * sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h (__signbitl):
904         Also use for 32-bit.
905         * sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c (__nearbyintl): Use
906         __nextafter instead of nextafter to avoid local PLT.
907         * sysdeps/powerpc/fpu/e_sqrt.c: Avoid call to fetestexcept.
908         * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise.
909
910         * scripts/data/localplt-powerpc64-linux-gnu.data: New file.
911
912         * sysdeps/powerpc/fpu/fenv_libc.h: Add libm_hidden_proto for
913         __fe_nomask_env.
914         * sysdeps/powerpc/fpu/fe_nomask.c: Add libm_hidden_def.  Include
915         <fenv_libc.h> instead of <fenv.h>.
916         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: Likewise.
917         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: Likewise.
918
919         * sysdeps/powerpc/bits/fenv.h: Make safe for C++.
920
921         * sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h: New file.
922         * sysdeps/powerpc/fpu/fegetexcept.c (__fegetexcept): Rename
923         function from fegetexcept and make old name weak alias.
924         * include/fenv.h: Declare __fegetexcept.
925         * sysdeps/powerpc/fpu/fedisblxcpt.c: Use __fegetexcept instead of
926         fegetexcept.
927         * sysdeps/powerpc/fpu/feenablxcpt.c: Likewise.
928         * sysdeps/powerpc/fpu/fraiseexcpt.c (__feraiseexcept): Avoid call
929         to fetestexcept.
930         * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Use __frexpl
931         instead of frexpl to avoid local PLT.
932         * math/s_significandl.c (__significandl): Use __ilogbl instead of
933         ilogbl to avoid local PLT.
934         * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Use __ldexpl
935         instead of ldexpl to avoid local PLT.
936         * sysdeps/ieee754/ldbl-128ibm/e_expl.c (__ieee754_expl): Use
937         __roundl not roundl to avoid local PLT.
938         * sysdeps/ieee754/ldbl-128/e_j0l.c: Use function names which avoid
939         local PLTs.  Use __sincosl instead of separate sinl and cosl
940         calls.
941         * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise.
942
943         * sysdeps/unix/sysv/linux/configure.in: Bump minimal kernel
944         version for ppc64 to 2.4.21 since without it makecontext will fail.
945
946         * elf/tls-macros.h [__powerpc64__] (__TLS_GET_ADDR): Define according
947         to the ABI in use.
948         [__powerpc64__] (TLS_LD): Use __TLS_GET_ADDR instead of
949         .__tls_get_addr.
950         [__powerpc64__] (TLS_GD): Likewise.
951
952 2007-11-20  Ryan S. Arnold  <rsa@us.ibm.com>
953
954         [BZ #4997]
955         * sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Fixed erroneous
956         result when x is +/-nextafter(+/-0.5,-/+1) i.e. all 1's in the
957         mantissa.
958         * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround):
959         Likewise.  Also account for when x is an odd number between 2^52
960         and 2^53-1.
961         * sysdeps/powerpc/powerpc64/fpu/s_llround.S (__llround): Likewise.
962         * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S (__llroundf): Likewise.
963         * math/libm-test.inc (lround_test, llround_test): Added test cases to
964         detect aforementioned erroneous conditions.
965
966 2008-04-11  Jakub Jelinek  <jakub@redhat.com>
967
968         * configure.in: Check for -fno-section-anchors in addition to
969         -fno-toplevel-reorder.
970
971 2008-04-11  Ulrich Drepper  <drepper@redhat.com>
972
973         * include/features.h (__GLIBC_MINOR__): Bump to 8.
974
975         * sysdeps/powerpc/powerpc32/fpu/s_lroundf.S: Remove duplicate comment.
976         * sysdeps/powerpc/powerpc32/power5+/fpu/s_llroundf.S: Likewise.
977         * sysdeps/powerpc/powerpc32/power6/fpu/s_llroundf.S: Likewise.
978         * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: Likewise.
979         * sysdeps/powerpc/powerpc64/fpu/s_lround.S: Likewise.
980         * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: Likewise.
981
982 2008-04-11  Jakub Jelinek  <jakub@redhat.com>
983
984         [BZ #5443]
985         * time/era.c: Transform __libc_setlocale_lock into rwlock.
986         * time/alt_digit.c: Likewise.
987         * wcsmbs/wcsmbsload.c: Likewise.
988
989 2008-04-10  Ulrich Drepper  <drepper@redhat.com>
990
991         * version.h (VERSION): Bump to 2.8.
992
993         * timzeone/asia: Update from tzdata2008b.
994         * timezone/backward: Likewise.
995         * timezone/europe: Likewise.
996         * timezone/northamerica: Likewise.
997         * timezone/southamerica: Likewise.
998         * timezone/iso3166.tab: Likewise.
999         * timezone/leapseconds: Likewise.
1000         * timezone/zone.tab: Likewise.
1001         * timezone/private.h: Update from tzcode2008a.
1002         * timezone/zdump.c: Likewise.
1003         * timezone/zic.c: Likewise.
1004
1005 2008-01-24  Steven Munroe  <sjmunroe@us.ibm.com>
1006
1007         [BZ #5741]
1008         * sysdeps/powerpc/powerpc64/dl-machine.h (PPC_DCBT, PPC_DCBF):
1009         Define additonal Data Cache Block instruction macros.
1010         (elf_machine_fixup_plt): Add dcbt for opd and plt entries.
1011         Replace dcbst with dcbf and sync with sync/isync.
1012
1013 2008-02-21  Alan Modra  <amodra@bigpond.net.au>
1014
1015         * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_type_class):
1016         Always set ELF_RTYPE_CLASS_PLT.
1017         (elf_machine_lookup_noexec_p, elf_machine_lookup_noplt_p): Delete.
1018
1019 2008-04-03  Steven Munroe  <sjmunroe@us.ibm.com>
1020
1021         * sysdeps/powerpc/powerpc32/power4/hp-timing.c: New file.
1022         * sysdeps/powerpc/powerpc32/power4/hp-timing.h: New file.
1023         * sysdeps/powerpc/powerpc64/hp-timing.h [_ARCH_PWR4] (HP_TIMING_NOW):
1024         For ISA 2.01 and later replace mftb with mfspr 268.
1025
1026 2008-02-19  Steven Munroe  <sjmunroe@us.ibm.com>
1027
1028         [BZ #5768]
1029         * sysdeps/powerpc/fpu/Makefile (libm-tests): Add test-powerpc-snan.
1030         * sysdeps/powerpc/fpu/test-powerpc-snan.c: New file.
1031
1032 2008-02-18  Steven Munroe  <sjmunroe@us.ibm.com>
1033
1034         [BZ #5768]
1035         * sysdeps/powerpc/powerpc32/fpu/s_isnan.S: New file.
1036         * sysdeps/powerpc/powerpc32/fpu/s_isnan.c: Removed.
1037         * sysdeps/powerpc/powerpc64/fpu/s_isnan.S: New file.
1038         * sysdeps/powerpc/powerpc64/fpu/s_isnan.c: Removed.
1039
1040 2008-04-10  Jakub Jelinek  <jakub@redhat.com>
1041
1042         * stdlib/tst-makecontext.c (othervar): New variable.
1043         (cf): Test sign extending the argument to long.
1044
1045 2008-03-03  Steven Munroe  <sjmunroe@us.ibm.com>
1046
1047         * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: New file.
1048         * sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: New file.
1049         * sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: New file.
1050         * sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: New file.
1051         * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: New file.
1052         * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: New file.
1053         * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: New file.
1054
1055 2008-02-22  Alan Modra  <amodra@bigpond.net.au>
1056
1057         * elf/Makefile (tests): Substitute tests-vis-yes here.
1058         (tests-vis-yes): Delete.
1059         (modules-name, modules-vis-yes): Similarly.
1060
1061 2008-02-12  Pete Eberlein  <eberlein@us.ibm.com>
1062
1063         [BZ #4407]
1064         * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
1065         Preserve sign in signgamp when x is zero.
1066
1067 2007-10-26  Steven Munroe  <sjmunroe@us.ibm.com>
1068
1069         * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: New File.
1070         * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.c: Removed.
1071         * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: New File.
1072         * sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.c: Removed.
1073         * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: New File.
1074         * sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: New File.
1075
1076 2008-04-09  Ulrich Drepper  <drepper@redhat.com>
1077
1078         [BZ #4314]
1079         * sysdeps/i386/i686/memcpy.S: Optimize copying of equally aligned
1080         buffers.
1081
1082         [BZ #5209]
1083         * sysdeps/unix/sysv/syscalls.list: The times syscall doesn't have
1084         a reserved error value.
1085
1086         * stdlib/tst-makecontext.c: Change parameter to cf to negative
1087         value to check for correct sign extension.
1088
1089         [BZ #5436]
1090         * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext):
1091         Copy 64-bit parameter values even though this is not required in
1092         the standard.
1093
1094         * sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Record return
1095         PC save.
1096
1097 2008-02-14  Daniel Jacobowitz  <dan@codesourcery.com>
1098
1099         * sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Record return
1100         PC save.
1101
1102 2008-04-09  Jakub Jelinek  <jakub@redhat.com>
1103
1104         * nss_files/files-XXX.c (_nss_files_getXXent_r): Restore saved errno.
1105
1106 2008-04-09  Ulrich Drepper  <drepper@redhat.com>
1107
1108         [BZ #5998]
1109         * libio/iofwrite.c (_IO_fwrite): Return correct count if flushing
1110         in line-buffered stream failed.
1111         * libio/iofwrite_u.c (fwrite_unlocked): Likewise.
1112
1113 2008-04-08  Ulrich Drepper  <drepper@redhat.com>
1114
1115         [BZ #6024]
1116         * scripts/abi-versions.awk: If the version specified by
1117         --enable-oldest-abi is older than the first version for this
1118         architecture, use the default version.
1119
1120         * locale/programs/ld-collate.c (collate_read): Ignore script lines
1121         as well when ignoring the whole category.
1122
1123 2008-04-07  Ulrich Drepper  <drepper@redhat.com>
1124
1125         [BZ #6042]
1126         * sysdeps/unix/sysv/linux/net/ethernet.h: Add a few more
1127         ETHERTYPE_* definitions.
1128         Patch partly by Aurelien Jarno <aurelien@aurel32.net>.
1129
1130 2008-04-07  Jakub Jelinek  <jakub@redhat.com>
1131
1132         * stdlib/mbtowc.c (__no_r_state): Remove.
1133         (mbtowc): New static state variable.  Use it instead of
1134         __no_r_state.
1135         * stdlib/wctomb.c (__no_r_state): Remove extern decl.
1136         (__wctomb_state): New hidden variable.
1137         (wctomb): Use __wctomb_state instead of __no_r_state.
1138         * debug/wctomb_chk.c (__no_r_state): Remove extern decl.
1139         (__wctomb_state): New extern decl.
1140         (__wctomb_chk): Use __wctomb_state instead of __no_r_state.
1141
1142 2008-04-07  Ulrich Drepper  <drepper@redhat.com>
1143
1144         [BZ #5475]
1145         * resolv/res_init.c: Handle scope IDs in resolv.conf.
1146
1147 2008-04-07  Jakub Jelinek  <jakub@redhat.com>
1148
1149         * malloc/mtrace.pl: Use $@ instead of $* to keep perl 5.10 quiet.
1150
1151 2008-04-06  Ulrich Drepper  <drepper@redhat.com>
1152
1153         * po/nl.po: Update from translation team.
1154
1155 2008-03-31  Ulrich Drepper  <drepper@redhat.com>
1156
1157         [BZ #6007]
1158         * string/strfry.c: Handle empty strings again.
1159
1160 2008-03-30  Ulrich Drepper  <drepper@redhat.com>
1161
1162         [BZ #5443]
1163         * intl/dcigettext.c (__dcigettext): Get reader lock for locale data
1164         before looking for translation.
1165         * locale/duplocale.c: Transform __libc_setlocale_lock into rwlock.
1166         * locale/freelocale.c: Likewise.
1167         * locale/newlocale.c: Likewise.
1168         * locale/setlocale.c: Likewise.
1169         Based partially on a patch by ryo@np.css.fujitsu.com.
1170
1171 2008-03-30  Jakub Jelinek  <jakub@redhat.com>
1172
1173         * intl/dcigettext.c (_nl_find_msg): Reread nconversions after
1174         acquiring wrlock.  Do conv_tab allocation while holding lock.
1175         * intl/Makefile: Add rules to build and run tst-gettext6.
1176         * intl/tst-gettext6.c: New test.
1177         * intl/tst-gettext6.sh: New file.
1178
1179 2008-03-30  Ulrich Drepper  <drepper@redhat.com>
1180
1181         * po/nl.po: Update from translation team.
1182
1183         * sysdeps/unix/opendir.c (__alloc_dir): If allocation fails for size
1184         provided through st_blksize, try the default size before giving up.
1185
1186 2008-03-29  Ulrich Drepper  <drepper@redhat.com>
1187
1188         * stdio-common/vfprintf.c (vfprintf): Correct overflow test.
1189
1190         [BZ #5939]
1191         * sysdeps/posix/tempname.c (__gen_tempname): Correct flag selection.
1192
1193         * posix/getopt.c (_getopt_internal_r): Remove old POSIX-demanded
1194         error message.  POSIX today does not require the messages to be in
1195         a specific form.  Suggested by Jim Meyering <jim@meyering.net>.
1196
1197         [BZ #5979]
1198         * sunrpc/auth_unix.c: Unify printed strings.
1199         * sunrpc/clnt_tcp.c: Likewise.
1200         * sunrpc/clnt_udp.c: Likewise.
1201         * sunrpc/clnt_unix.c: Likewise.
1202         * sunrpc/svc_tcp.c: Likewise.
1203         * sunrpc/svc_udp.c: Likewise.
1204         * sunrpc/svc_unix.c: Likewise.
1205         * sunrpc/xdr.c: Likewise.
1206         * sunrpc/xdr_array.c: Likewise.
1207         * sunrpc/xdr_rec.c: Likewise.
1208         * sunrpc/xdr_ref.c: Likewise.
1209         * locale/programs/ld-time.c (time_finish): Unify messages.
1210         * locale/programs/locfile.c (handle_copy): Fix typo.
1211         * nscd/nscd.c (options): Fix typo.
1212
1213         [BZ #5995]
1214         * stdlib/strtod_l.c: Use correct sign for result in one more
1215         underflow case.
1216         Patch by Eric Blake <ebb9@byu.net>.
1217
1218 2008-03-27  Jakub Jelinek  <jakub@redhat.com>
1219
1220         * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add open
1221         and creat system calls.
1222         * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove open system
1223         call.
1224         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove open and creat
1225         system calls.
1226         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
1227         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
1228         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
1229
1230 2008-03-27  Ulrich Drepper  <drepper@redhat.com>
1231
1232         * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
1233         <linux/limits.h> has defined it.
1234         * sysdeps/unix/sysv/linux/sys/param.h: Define NCARGS to the legacy
1235         ARG_MAX value and prevent ARG_MAX from being defined by the kernel
1236         headers.
1237         * sysdeps/unix/sysv/linux/sysconf.c: Define legacy_ARG_MAX and use
1238         it instead of ARG_MAX.
1239
1240 2008-03-25  Jakub Jelinek  <jakub@redhat.com>
1241
1242         * posix/gai.conf: Fix comment for scope nullbits.
1243         * sysdeps/posix/getaddrinfo.c (gaiconf_init): If /bits is not present,
1244         default to 128 bits for v4 mapped addresses.
1245
1246 2008-03-07  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1247
1248         * sysdeps/s390/fpu/fegetenv.c (fegetenv): Remove PTRACE_PEEKUSER
1249         ptrace call to get the ieee_instruction_pointer from the kernel.
1250         * sysdeps/s390/fpu/fesetenv.c (fesetenv): Remove PTRACE_POKEUSER
1251         ptrace call to set the ieee_instructtion_pointer.
1252         * sysdeps/unix/sysv/linux/s390/sys/user.h (struct _user_regs_struct):
1253         Add comment that ieee_instruction_pointer is always 0.
1254
1255 2008-03-09  Andreas Jaeger  <aj@suse.de>
1256
1257         [BZ #5857]
1258         * sysdeps/ieee754/dbl-64/s_rint.c (__rint): Handle j0==18.
1259         * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Likewise.
1260         Patch by Mark Elliott <mark.h.elliott@lmco.com>.
1261
1262         * math/libm-test.inc (nearbyint_test): Add new test cases from #5857.
1263         (rint_test): Likewise.
1264
1265 2008-03-24  Ulrich Drepper  <drepper@redhat.com>
1266
1267         * nis/nis_call.c (nis_server_cache_search): Save errno around stat
1268         call.
1269         (__nisfind_server): Similar for open readColdStartFile call.
1270         Patch partially by Jim Meyering.
1271         * nss/nss_files/files-XXX.c (_nss_files_getXXent_r): Save errno
1272         around internal_setent call.
1273
1274         * po/vi.po: New Vietnamese translation.
1275
1276         * sysdeps/unix/sysv/linux/adjtime.c: Correctly use
1277         ADJ_OFFSET_SS_READ.
1278
1279         * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags,
1280         remove CLONE_STOPPED.
1281
1282 2008-02-10  Jim Meyering  <meyering@redhat.com>
1283
1284         Remove useless "if" before "free":
1285         * elf/ldconfig.c (parse_conf_include): Likewise.
1286         * gmon/gmon.c (weak_alias): Likewise.
1287         * iconv/gconv_conf.c (__gconv_get_path): Likewise.
1288         * inet/rcmd.c (__validuser2_sa): Likewise.
1289         * intl/bindtextdom.c (set_binding_values): Likewise.
1290         * intl/loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Likewise.
1291         * libio/genops.c (save_for_backup): Likewise.
1292         * libio/wgenops.c (save_for_wbackup): Likewise.
1293         * locale/programs/ld-collate.c (collate_read): Likewise.
1294         * locale/programs/linereader.c (get_string): Likewise.
1295         * nis/nss_compat/compat-pwd.c (give_pwd_free): Likewise.
1296         * nis/nss_compat/compat-spwd.c (give_spwd_free): Likewise.
1297         * resolv/res_debug.c (do_section): Likewise.
1298         * sunrpc/xdr_sizeof.c (x_inline, xdr_sizeof): Likewise.
1299         * sysdeps/mach/hurd/if_index.c (libc_hidden_def): Likewise.
1300         * sysdeps/posix/sprofil.c (__sprofil): Likewise.
1301         * time/lc-time-cleanup.c (_nl_cleanup_time): Likewise.
1302         * time/tzset.c (tzset_internal): Likewise.
1303
1304 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
1305
1306         * sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead
1307         of ASSEMBLER.
1308
1309 2008-03-11  Ulrich Drepper  <drepper@redhat.com>
1310
1311         [BZ #5903]
1312         * iconv/iconv_charmap.c (charmap_conversion): Pass name of output file
1313         not stream for output file.  Open output file here.
1314         * iconv/iconv_prog.c (process_lock): Take pointer to output stream
1315         and output file name.
1316         (process_fd): Likewise.
1317         (process_file): Likewise.
1318         (main): Adjust callers of changed functions.
1319         * iconv/iconv_prog.h: Adjust prototype.
1320
1321 2008-03-09  Andreas Jaeger  <aj@suse.de>
1322
1323         [BZ #5753]
1324         * sysdeps/ia64/ieee754.h: Use protected namespace
1325         __BIG_ENDIAN/__LITTLE_ENDIAN.
1326         * sysdeps/ieee754/ieee754.h: Likewise.
1327         Patch by Aurelien Jarno <aurelien@aurel32.net>.
1328
1329 2008-03-08  Roland McGrath  <roland@frob.com>
1330
1331         * hurd/hurdsig.c (_hurd_internal_post_signal): When normal rules would
1332         ignore a signal that came from a machine exception, treat it as a
1333         fatal core-dump signal instead.
1334         Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
1335
1336         * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
1337         Clear DF bit in thread state's eflags.
1338         Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
1339
1340 2008-03-08  Ulrich Drepper  <drepper@redhat.com>
1341
1342         [BZ #5774]
1343         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Consume closing brace
1344         of NAN(...) sequence.
1345         * stdlib/Makefile (tests): Add tst-strtod6.
1346         * stdlib/tst-strtod6.c: New file.
1347
1348         * inet/inet6_opt.c (inet6_opt_init): Check extlen for overflow.
1349
1350         [BZ #5762]
1351         * posix/getopt.c (_getopt_internal_r): Clarify error message by
1352         putting offending option character in quotes.  Clean up error
1353         messages.
1354         * po/be.po: Adjust msgstr in translation file.
1355         * po/bg.po: Likewise.
1356         * po/ca.po: Likewise.
1357         * po/cs.po: Likewise.
1358         * po/da.po: Likewise.
1359         * po/de.po: Likewise.
1360         * po/es.po: Likewise.
1361         * po/fr.po: Likewise.
1362         * po/hr.po: Likewise.
1363         * po/ko.po: Likewise.
1364         * po/nl.po: Likewise.
1365         * po/rw.po: Likewise.
1366         * po/sk.po: Likewise.
1367         * po/sv.po: Likewise.
1368         * po/tr.po: Likewise.
1369         * po/zh_CN.po: Likewise.
1370         * po/zh_TW.po: Likewise.
1371
1372         [BZ #5760]
1373         * inet/inet6_opt.c (inet6_opt_init): Fix ip6h_len computation.
1374         Patch by Roland Bless <roland@bless.de>.
1375
1376         * sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code for
1377         .o file.
1378         * elf/Makefile (routines): Add dl-sysdep.
1379         (elide-routines.os): Likewise.
1380
1381 2008-03-07  Ulrich Drepper  <drepper@redhat.com>
1382
1383         [BZ #5786]
1384         * elf/dl-sysdep.c: Undefine ROUND after use.
1385         * sysdeps/generic/ldsodefs.h [HAVE_DL_DISCOVER_OSVERSION]
1386         (struct rtld_global_ro): Add _dl_tls_get_addr_soft element.
1387         * elf/rtld.c (rtld_global_ro): Initialize _dl_discover_osversion.
1388         * sysdeps/unix/sysv/linux/dl-osinfo.h: Move _dl_discover_osversion
1389         to ...
1390         * sysdeps/unix/sysv/linux/dl-sysdep.c: ...here.
1391         * sysdeps/unix/sysv/linux/dl-sysdep.h: Declare _dl_discover_osversion
1392         if necessary.
1393         * sysdeps/unix/sysv/linux/sysconf.c: Handle _SC_ARG_MAX here.
1394
1395         * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
1396         _dl_tls_get_addr_soft element.
1397         * elf/rtld.c (rtld_global_ro): Initialize _dl_tls_get_addr_soft.
1398         * elf/Versions (ld): Don't export _dl_tls_get_addr_soft.
1399         * dlfcn/dlinfo.c (dlinfo_doit): Access dl_tls_get_addr_soft through
1400         GLRO.
1401         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
1402         * elf/dl-tls.c (_dl_tls_get_addr_soft): Use attribute_hidden instead
1403         of internal_function.
1404
1405         * stdlib/Makefile (aux): Add tens_in_limb.
1406         * stdlib/strtod_l.c: Move _tens_in_limb definition to...
1407         * stdlib/tens_in_limb.c: ...here.  New file.
1408
1409         [BZ #5778]
1410         * sysdeps/unix/sysv/linux/pathconf.h: Declare
1411         __statfs_chown_restricted.
1412         * sysdeps/unix/sysv/linux/fpathconf.c: Call __statfs_chown_restricted
1413         for _PC_CHOWN_RESTRICTED.
1414         * sysdeps/unix/sysv/linux/pathconf.c: Likewise.
1415         Implement __statfs_chown_restricted.
1416         * sysdeps/unix/sysv/linux/bits/posix_opt.h: Change
1417         _POSIX_CHOWN_RESTRICTED value to zero.
1418         * io/tst-fchownat.c: Correctly handle _POSIX_CHOWN_RESTRICTED
1419         defined to zero.
1420
1421         * sysdeps/x86_64/rtld-memset.c: New file.
1422
1423 2008-02-26  Harsha Jagasia  <harsha.jagasia@amd.com>
1424
1425         * sysdeps/x86_64/cacheinfo.c (NOT_USED_RIGHT_NOW): Remove ifdef guards.
1426
1427         * sysdeps/x86_64/memset.S: Rewrite non-SSE code path as tuned for AMD
1428         Barcelona machine.  Make default fall through branch of
1429         __x86_64_preferred_memory_instruction check as the integer code path.
1430
1431 2007-10-15  H.J. Lu  <hongjiu.lu@intel.com>
1432
1433         * sysdeps/x86_64/cacheinfo.c
1434         (__x86_64_preferred_memory_instruction): New variable.
1435         (init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.
1436
1437         * sysdeps/x86_64/memset.S: Rewrite.
1438
1439 2008-03-04  Jakub Jelinek  <jakub@redhat.com>
1440
1441         * include/stdio.h (__asprintf_chk, __dprintf_chk,
1442         __obstack_printf_chk): New prototypes.
1443         (__vasprintf_chk, __vdprintf_chk,
1444         __obstack_vprintf_chk): Likewise.
1445         Add libc_hidden_proto.
1446         * libio/obprintf.c
1447         (_IO_obstack_jumps): No longer static, add attribute_hidden.
1448         * libio/bits/stdio-ldbl.h (__asprintf_chk, __dprintf_chk,
1449         __obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
1450         __obstack_vprintf_chk): Add __LDBL_REDIR_DECL.
1451         * libio/bits/stdio2.h (__asprintf_chk, __dprintf_chk,
1452         __obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
1453         __obstack_vprintf_chk): New prototypes.
1454         (asprintf, __asprintf, dprintf, obstack_printf, vasprintf, vdprintf,
1455         obstack_vprintf): New inlines.
1456         * debug/dprintf_chk.c: New file.
1457         * debug/vdprintf_chk.c: New file.
1458         * debug/asprintf_chk.c: New file.
1459         * debug/vasprintf_chk.c: New file.
1460         * debug/obprintf_chk.c: New file.
1461         * debug/tst-chk1.c (do_test): Add asprintf and obstack_printf tests.
1462         * debug/Versions (__asprintf_chk, __dprintf_chk, __obstack_printf_chk,
1463         __vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): Export
1464         @@GLIBC_2.8.
1465         * debug/Makefile: Build asprintf_chk, vasprintf_chk, dprintf_chk,
1466         vdprintf_chk and obprintf_chk, set CFLAGS for them.
1467         * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___vasprintf_chk,
1468         __nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): Add
1469         libc_hidden_proto.
1470         * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl___vasprintf_chk,
1471         __nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): New prototypes.
1472         * sysdeps/ieee754/ldbl-opt/Versions (__nldbl___asprintf_chk,
1473         __nldbl___vasprintf_chk, __nldbl___dprintf_chk, __nldbl___vdprintf_chk,
1474         __nldbl___obstack_printf_chk, __nldbl___obstack_vprintf_chk): Export
1475         @@GLIBC_2.8.
1476         * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add asprintf_chk,
1477         vasprintf_chk, dprintf_chk, vdprintf_chk, obstack_printf_chk and
1478         obstack_vprintf_chk.
1479         * sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c: New file.
1480         * sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c: New file.
1481         * sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c: New file.
1482         * sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c: New file.
1483         * sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c: New file.
1484         * sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c: New file.
1485
1486 2008-03-04  Ulrich Drepper  <drepper@redhat.com>
1487
1488         [BZ #5779]
1489         * misc/sys/queue.h: Add STAILQ_CONCAT and TAILQ_CONCAT definitions.
1490         Patch by Roy Marples <roy@marples.name>.
1491
1492         [BZ #5736]
1493         * malloc/malloc.c: Fix typo in comment.
1494
1495         [BZ #5627]
1496         * locale/iso-639.def: Add Shuswap.
1497
1498 2008-02-25  Jakub Jelinek  <jakub@redhat.com>
1499
1500         [BZ #5790]
1501         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Don't
1502         overwrite *h_errnop/*errnop values from getanswer_r in case of
1503         failure.
1504
1505 2008-03-03  Ulrich Drepper  <drepper@redhat.com>
1506
1507         [BZ #5818]
1508         * nscd/connections.c (dbs): Add initializers for .suggested_module.
1509         (verify_persistent_db): Remove one unnecessary test and add a new one
1510         for bad configuration.
1511         (nscd_init): Improve error reported when persistent database cannot
1512         be reused.
1513         * nscd/nscd.h (DEFAULT_SUGGESTED_MODULE): Define.
1514         * nscd/nscd_conf.c (nscd_parse_file): Provide default values for
1515         .suggested_module and .max_db_size and case config file says the
1516         values are zero.
1517         * nscd/nscd_helper.c (get_mapping): Fail if hash table module is zero.
1518
1519         [BZ #5854]
1520         * nis/ypclnt.c (yp_order): Fix handling of return value of
1521         do_ypcall_tr call.
1522         Patch by Jeff Moyer <jmoyer@redhat.com>.
1523
1524         * po/fr.po: Update from translation team.
1525
1526 2008-02-22  Andreas Jaeger  <aj@suse.de>,
1527             Carlos O'Donell <carlos@systemhalted.org>
1528
1529         [BZ #5012]
1530         * FAQ.in: Describe why glibc needs to be compiled with
1531         optimization.
1532
1533 2008-02-19  Roland McGrath  <roland@redhat.com>
1534
1535         * elf/elf.h (SHT_GNU_ATTRIBUTES): New macro.
1536
1537 2008-02-15  Ulrich Drepper  <drepper@redhat.com>
1538
1539         [BZ #5737]
1540         * resolv/netdb.h: Make NI_MAXHOST and NI_MAXSERV available when
1541         __USE_MISC is defined.
1542
1543 2008-02-10  Ulrich Drepper  <drepper@redhat.com>
1544
1545         * sysdeps/unix/sysv/linux/sys/timerfd.h: New file.
1546         * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add
1547         sys/timerfd.h.
1548         * sysdeps/unix/sysv/linux/syscalls.list: Add timerfd_create,
1549         timerfd_gettime, timerfd_settime.
1550         * sysdeps/unix/sysv/linux/Versions: Add timerfd_create,
1551         timerfd_gettime, timerfd_settime for GLIBC_2.8.
1552
1553 2008-02-08  Roland McGrath  <roland@redhat.com>
1554
1555         * elf/elf.h (NT_PPC_SPE): New macro.
1556
1557 2008-02-06  Roland McGrath  <roland@redhat.com>
1558
1559         * Makerules ($(common-objpfx)sysd-rules):
1560         Depend on $(sysdep-makeconfigs).
1561
1562 2008-01-31  Roland McGrath  <roland@redhat.com>
1563
1564         [BZ #5442]
1565         * configure.in: Use -print-file-name if it yields a directory,
1566         for each of include and include-fixed.
1567         * configure: Regenerated.
1568
1569         * Makeconfig (sysd-rules-targets): New variable.
1570         * sysdeps/unix/make-syscalls.sh: Use it in the rules emitted.
1571         * sysdeps/unix/Makefile (omit-deps): Append variants for each target.
1572
1573 2008-01-30  Roland McGrath  <roland@redhat.com>
1574
1575         * manual/libc.texinfo: Update back-cover text.
1576
1577         * elf/elf.h (NT_386_TLS): New macro.
1578
1579 2008-01-29  Roland McGrath  <roland@redhat.com>
1580
1581         * Makeconfig (sysd-rules-patterns): New variable.
1582         * Makerules ($(common-objpfx)sysd-rules): Drive the loop from that.
1583         (check-inhibit-asm): New canned sequence, replaces ...
1584         (open-check-inhibit-asm, close-check-inhibit-asm): ... these, removed.
1585         * elf/rtld-Rules ($(objpfx)rtld-%.os): Use $(rtld-CPPFLAGS) in commands.
1586         (rtld-CPPFLAGS): Renamed from CPPFLAGS-rtld.
1587         (CFLAGS-rtld): Variable removed.
1588
1589 2008-01-24  Roland McGrath  <roland@redhat.com>
1590
1591         * configure.in: Let configure fragments set base_os.
1592         * configure: Regenerated.
1593
1594 2008-01-22  Ulrich Drepper  <drepper@redhat.com>
1595
1596         * po/ko.po: Update from translation team.
1597
1598 2008-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1599
1600         * sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Use short for fnstsw.
1601
1602 2008-01-12  Andreas Jaeger  <aj@suse.de>
1603
1604         [BZ #5040]
1605         * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (enum EPOLL_EVENTS):
1606         Add EPOLLRDHUP.
1607
1608 2008-01-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1609
1610         * hurd/hurdsock.c (_hurd_socket_server): Return the standard
1611         error EAFNOSUPPORT rather than non-standard EPFNOSUPPORT.
1612         * sunrpc/bindrsvprt.c (bindresvport): Likewise.
1613
1614 2007-10-23  Alexandre Oliva  <aoliva@redhat.com>
1615
1616         * include/link.h (FORCED_DYNAMIC_TLS_OFFSET): Define.
1617         * elf/dl-close.c (_dl_close): Check for it.
1618         * elf/dl-reloc.c (CHECK_STATIC_TLS): Likewise.
1619         (_dl_allocate_static_tls): Likewise.
1620         * elf/dl-tls.c (_dl_allocate_tls_init): Likewise.
1621         (__tls_get_addr): Protect from race conditions in setting l_tls_offset
1622         to it.
1623         * elf/tst-tls16.c: New file.
1624         * elf/tst-tlsmod16a.c: New file.
1625         * elf/tst-tlsmod16b.c: New file.
1626         * elf/Makefile: Add rules to build and run tst-tls16.
1627
1628 2008-01-16  Ulrich Drepper  <drepper@redhat.com>
1629
1630         [BZ #5628]
1631         * bits/shm.h: Fix comment describing shmid_ds.
1632         * sysdeps/gnu/bits/shm.h: Likewise.
1633         * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
1634         * sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
1635         * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise.
1636         * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
1637         * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
1638         * sysdeps/unix/sysv/linux/sh/bits/shm.h: Likewise.
1639         * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
1640         * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
1641         Patch by Hareesh Nagarajan <hareesh.nagarajan@gmail.com>.
1642
1643         [BZ #5607]
1644         * conform/data/fcntl.h-data: Fix posix_fadvise and posix_fallocate
1645         prototypes.
1646         * conform/data/limits.h-data: Adjust limits changed in v6 and add
1647         additional suffixes.
1648         * conform/data/mqueue.h-data: Fix typo in mq_curmsgs entry.
1649         Add optional functions mq_timedreceive and mq_timedsend.
1650         * conform/data/netdb.h-data: Add more AI_* and EAI_* constants.
1651         * conform/data/pthread.h-data: Fix prototype of
1652         pthread_condattr_setclock.  pthread_sigmask is not required in v6.
1653         * conform/data/semaphore.h-data: Allow time.h definitions.
1654         * conform/data/signal.h-data: Likewise.
1655         * conform/data/stdio.h-data: getw and putw are not required in v6.
1656         * conform/data/stdlib.h-data: Change setstate prototype.
1657         * conform/data/string.h-data: Fix strerror_r prototype.
1658         * conform/data/time.h-data: Fix typo in TIMER_ABSTIME definition.
1659         * conform/data/unistd.h-data: pthread_atfork not required in v6.
1660         Fix readlink prototype.
1661         * conform/data/netinet/in.h-data: Add const to in6addr_any and
1662         in6addr_loopback.
1663         * inet/netinet/in.h: Cleanup namespace.
1664         * posix/regex.h: Likewise.
1665         * resolv/netdb.h: Likewise.
1666         * sysdeps/unix/sysv/linux/bits/in.h: Likewise.
1667         * sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
1668         * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
1669         * sysdeps/posix/getaddrinfo.c (default_labels): Adjust for change
1670         of names of in in6_addr.
1671         (default_precedence): Likewise.
1672         * sysdeps/unix/sysv/linux/cmsg_nxthdr.c: Include <stddef.h> for
1673         NULL definition.
1674
1675 2008-01-15  Ulrich Drepper  <drepper@redhat.com>
1676
1677         * conform/data/fmtmsg.h-data: Add missing allows.
1678         * conform/data/ftw.h-data: Likewise.
1679         * conform/data/inttypes.h-data: Likewise.
1680         * conform/data/math.h-data: Likewise.
1681         * conform/data/signal.h-data: Likewise.
1682         * conform/data/net/if.h-data: Likewise.
1683         * conform/data/netinet/in.h-data: Likewise.
1684         * conform/data/sys/socket.h-data: Likewise.
1685
1686         [BZ #5614]
1687         * string/bits/string2.h (__strtok_r_1c): Always update *__NEXTP.
1688         (__strtok_r): Simplify.
1689         * string/tester.c (test_strtok_r): Add test case for futile search
1690         with single-character seach string.
1691
1692 2008-01-12  Ulrich Drepper  <drepper@redhat.com>
1693
1694         * po/ko.po: Update from translation team.
1695
1696 2008-01-11  Andreas Jaeger  <aj@suse.de>
1697
1698         [BZ #5600]
1699         * sysdeps/unix/sysv/linux/sys/signalfd.h (struct
1700         signalfd_siginfo): Use 64-bit type for ssi_ptr to sync with Linux
1701         kernel header.
1702
1703 2008-01-10  Ulrich Drepper  <drepper@redhat.com>
1704
1705         * sysdeps/posix/getaddrinfo.c (rfc3484_sort): Store result of
1706         native interface lookup in all the relevant places.
1707
1708 2008-01-10  Jakub Jelinek  <jakub@redhat.com>
1709             Ulrich Drepper  <drepper@redhat.com>
1710
1711         * sysdeps/posix/getaddrinfo.c (sort_results): Remove service_order
1712         field.  Use sockaddr_in6 for source_addr.
1713         (get_scope): Change type of parameter to sockaddr_in6.  Adjust.
1714         (match_prefix): Likewise.
1715         (get_label): Likewise.
1716         (get_precedence): Likewise.
1717         (rfc3484_sort): Change to use indirect access to results array.
1718         Adjust to use of sockaddr_in6.  Replace service_order test with
1719         simple index comparison.
1720         (getaddrinfo): Define order array.  Initialize it.  Don't initialize
1721         service_order field.  Adjust qsort_t calls.  Access sorted result
1722         array indirectly through order array.
1723         * posix/tst-rfc3484.c: Adjust for change of rfc3484_sort.
1724         * posix/tst-rfc3484-2.c: Likewise.
1725         * posix/tst-rfc3484-3.c: Likewise.
1726
1727 2008-01-09  Ulrich Drepper  <drepper@redhat.com>
1728
1729         [BZ #5541]
1730         * sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and
1731         pollfd structures.
1732         Patch by AndrĂ© Cruz.
1733
1734         [BZ #5545]
1735         * sunrpc/clnt_perr.c (clnt_sperror): Don't use fixed size buffer.
1736         (clnt_spcreateerror): Likewise.
1737
1738         [BZ #5553]
1739         * malloc/malloc.c (public_mALLOc): Set ar_ptr when trying main_arena.
1740         (public_mEMALIGn): Likewise.
1741         Patch mostly by Daniel Jacobowitz.
1742
1743 2008-01-09  Jakub Jelinek  <jakub@redhat.com>
1744
1745         * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Avoid
1746         clobbering memory at or above uc_stack.ss_sp + uc_stack.ss_size.
1747         * stdlib/Makefile: Add rules to build and run tst-makecontext2.
1748         * stdlib/tst-makecontext2.c: New test.
1749
1750 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
1751
1752         * iconv/loop.c (UPDATE_PARAMS): Define to empty statement if not
1753         defined.
1754         (REINIT_PARAMS): Likewise.  Undefine before end of file.
1755         (STANDARD_TO_LOOP_ERR_HANDLER): Use UPDATE_PARAMS before calling
1756         transliteration hooks and REINIT_PARAMS afterwards.
1757         * iconvdata/iso-2022-jp.c (BODY): Use a separate variable for
1758         status.
1759         (REINIT_PARAMS): Define.
1760         * iconvdata/ibm1364.c (REINIT_PARAMS): Likewise.
1761         * iconvdata/ibm930.c (REINIT_PARAMS): Likewise.
1762         * iconvdata/ibm933.c (REINIT_PARAMS): Likewise.
1763         * iconvdata/ibm935.c (REINIT_PARAMS): Likewise.
1764         * iconvdata/ibm937.c (REINIT_PARAMS): Likewise.
1765         * iconvdata/ibm939.c (REINIT_PARAMS): Likewise.
1766         * iconvdata/iso-2022-cn.c (REINIT_PARAMS): Likewise.
1767         * iconvdata/iso-2022-cn-ext.c (REINIT_PARAMS): Likewise.
1768         * iconvdata/iso-2022-jp-3.c (REINIT_PARAMS): Likewise.
1769         * iconvdata/iso-2022-kr.c (REINIT_PARAMS): Likewise.
1770         * iconvdata/Makefile: Add rules to build and run tst-iconv7.c.
1771         * iconvdata/tst-iconv7.c: New test.
1772
1773 2008-01-07  Ulrich Drepper  <drepper@redhat.com>
1774
1775         * libio/stdio.h (vscanf): Fix definition for loser compilers.
1776
1777 2008-01-05  Jakub Jelinek  <jakub@redhat.com>
1778
1779         [BZ #5112]
1780         * nscd/connections.c (restart): Fix condition.
1781
1782 2008-01-03  Jakub Jelinek  <jakub@redhat.com>
1783
1784         * ctype/ctype.h (__ctype_b_loc, __ctype_tolower_loc,
1785         __ctype_toupper_loc): Add __THROW.
1786
1787 2008-01-02  Ulrich Drepper  <drepper@redhat.com>
1788
1789         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Fix
1790         recognition of interface family.
1791
1792         * posix/getconf.c: Update copyright year.
1793         * nss/getent.c: Likewise.
1794         * iconv/iconvconfig.c: Likewise.
1795         * iconv/iconv_prog.c: Likewise.
1796         * elf/ldconfig.c: Likewise.
1797         * catgets/gencat.c: Likewise.
1798         * csu/version.c: Likewise.
1799         * elf/ldd.bash.in: Likewise.
1800         * elf/sprof.c (print_version): Likewise.
1801         * locale/programs/locale.c: Likewise.
1802         * locale/programs/localedef.c: Likewise.
1803         * nscd/nscd.c (print_version): Likewise.
1804         * debug/xtrace.sh: Likewise.
1805         * malloc/memusage.sh: Likewise.
1806         * malloc/mtrace.pl: Likewise.
1807         * debug/catchsegv.sh: Likewise.
1808
1809 2007-12-26  Ulrich Drepper  <drepper@redhat.com>
1810
1811         * nss/nsswitch.c (__nss_lookup): Actually use alternative name in
1812         second lookup.
1813
1814 2007-12-23  Ulrich Drepper  <drepper@redhat.com>
1815
1816         * sysdeps/x86_64/cacheinfo.c (intel_02_known): New entry 0x3f.
1817         * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise.
1818
1819 2007-12-17  Roland McGrath  <roland@redhat.com>
1820
1821         * inet/ether_line.c (ether_line): Remove unused variable.
1822
1823 2007-12-17  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1824
1825         * login/forkpty.c (forkpty): Add const qualifier to parameters termp
1826         and winp.
1827         * login/openpty.c (openpty): Likewise.
1828         * login/pty.h (openpty, forkpty): Likewise.
1829         * manual/terminal.texi (openpty, forkpty): Likewise.
1830
1831 2007-12-17  Ulrich Drepper  <drepper@redhat.com>
1832
1833         * malloc/malloc.c (public_cALLOc): For arenas other than
1834         main_arena, count all bytes inside the mprotect_size range of the
1835         heap as uninitialized.
1836
1837 2007-12-16  Ulrich Drepper  <drepper@redhat.com>
1838
1839         * elf/tst-execstack.c (do_test): Don't fail if SELinux forbids
1840         executable stacks.
1841
1842         * malloc/malloc.c (public_mTRIm): Iterate over all arenas and call
1843         mTRIm for all of them.
1844         (mTRIm): Additionally iterate over all free blocks and use madvise
1845         to free memory for all those blocks which contain at least one
1846         memory page.
1847         * malloc/tst-trim1.c: New file.
1848         * malloc/Makefile (tests): Add tst-trim1.
1849
1850         * malloc/malloc.c (do_check_malloc_state): Minimal cleanups.
1851
1852 2007-12-14  Ulrich Drepper  <drepper@redhat.com>
1853
1854         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL_ERROR_P):
1855         First cast argument to long
1856         * sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_gettimeofday):
1857         Return long.
1858         (__vdso_clock_gettime): Likewise.
1859         * sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: Functions
1860         return long.
1861
1862 2007-12-13  Ulrich Drepper  <drepper@redhat.com>
1863
1864         * locale/nl_langinfo.c (nl_langinfo): Just call __nl_langinfo_l.
1865         * locale/nl_langinfo_l.c: Real implementation, copied from
1866         nl_langinfo.c.
1867         * include/langinfo.h: Add libc_hidden_proto for __nl_langinfo_l.
1868
1869 2007-12-01  Jim Meyering  <meyering@redhat.com>
1870
1871         * posix/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
1872         that would inhibit utf8-optimization of a regexp containing line-
1873         or buffer-anchors, e.g., `^', `$'.
1874
1875 2007-12-12  Ulrich Drepper  <drepper@redhat.com>
1876
1877         * time/bug-getdate1.c (do_test): Don't use century values which
1878         aren't valid on 32-bit systems.
1879
1880 2007-12-12  Jakub Jelinek  <jakub@redhat.com>
1881
1882         * sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
1883         (memmove): Rename to __memmove_g, with __asm__ ("memmove").
1884         * sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
1885         __strcat_g, __strncat_g): Add __asm__.
1886
1887 2007-12-12  Ulrich Drepper  <drepper@redhat.com>
1888
1889         [BZ #5477]
1890         * io/fchmodat.c: Fix typo in stub_warning use.
1891         Patch by Petr Salinger.
1892
1893 2007-12-11  Ulrich Drepper  <drepper@redhat.com>
1894
1895         * iconvdata/hp-thai8.c: New file.
1896         * iconvdata/Makefile: Add rules for hp-thai8.c.
1897         * iconvdata/tst-tables.sh: Add entry for HP-THAI8.
1898         * iconvdata/gconv-modules: Likewise.
1899
1900         [BZ #5464]
1901         * iconvdata/hp-greek8.c: New file.
1902         * iconvdata/Makefile: Add rules for hp-greek8.c.
1903         * iconvdata/tst-tables.sh: Add entry for HP-GREEK8.
1904         * iconvdata/gconv-modules: Likewise.
1905
1906         [BZ #5463]
1907         * iconvdata/hp-turkish8.c: New file.
1908         * iconvdata/Makefile: Add rules for hp-turkish8.c.
1909         * iconvdata/tst-tables.sh: Add entry for HP-TURKISH8.
1910         * iconvdata/gconv-modules: Likewise.
1911
1912         * malloc/arena.c (grow_heap): Split out code to shrink heap into...
1913         (shrink_heap): ... this new function.
1914         (heap_trim): Call shrink_heap instead of grow_heap.
1915
1916         * malloc/malloc.c (_int_malloc): sYSMALLOc might fail, in this
1917         case don't call alloc_perturb.
1918
1919 2007-12-10  Ulrich Drepper  <drepper@redhat.com>
1920
1921         * sysdeps/unix/sysv/linux/adjtime.c: Use ADJ_OFFSET_SS_READ if
1922         possible.
1923         * sysdeps/unix/sysv/linux/kernel-features.h
1924         (__ASSUME_ADJ_OFFSET_SS_READ): Define for 2.6.24.
1925         * sysdeps/unix/sysv/linux/sys/timex.h (ADJ_OFFSET_SS_READ): Define.
1926
1927 2007-12-08  Ulrich Drepper  <drepper@redhat.com>
1928
1929         [BZ #5424]
1930         * stdio-common/vfprintf.c: Do not overflow when adding to done.
1931         * stdio-common/Makefile (tests): Add bug22.
1932         * stdio-common/bug22.c: New file.
1933
1934         [BZ #5451]
1935         * time/getdate.c: Fix filling in default values.
1936         * time/bug-getdate1.c: New file.
1937         * time/Makefile: Add rules to build and run bug-getdate1.
1938
1939         * iconvdata/ebcdic-is-friss.c: Use 8bit-gap instead of 8bit-generic.
1940         * iconvdata/ebcdic-es.c: Likewise.
1941         * iconvdata/ebcdic-es-a.c: Likewise.
1942         * iconvdata/ebcdic-uk.c: Likewise.
1943         * iconvdata/iso8859-16.c: Likewise.
1944         * iconvdata/viscii.c: Likewise.
1945         * iconvdata/iso8859-9e.c: Likewise.
1946         * iconvdata/Makefile: Adjust appropriately.
1947
1948         [BZ #5428]
1949         * wcsmbs/wchar.h: Unconditionally undefine __need_mbstate and
1950         __need_wint_t.
1951
1952 2007-12-07  Ulrich Drepper  <drepper@redhat.com>
1953
1954         [BZ #5427]
1955         * iconvdata/hp-roman9.c: New file.
1956         * iconvdata/Makefile: Add rules for hp-roman9.c.
1957         * iconvdata/tst-tables.sh: Add HP-ROMAN9.
1958         * iconvdata/gconv-modules: Likewise.
1959
1960         * iconvdata/hp-roman8.c: Use 8bit-gap instead of 8bit-generic.
1961         * iconvdata/Makefile: Adjust appropriately.
1962
1963         [BZ #5441]
1964         * stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free
1965         structure, it's allocated with alloca.
1966         * stdio-common/Makefile (tests): Add bug21.
1967         * stdio-common/bug21.c: New file.
1968
1969 2007-12-06  Aurelien Jarno  <aurelien@aurel32.net>
1970
1971         [BZ #5452]
1972         * sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__
1973         keyword for gcc's braced-groups.
1974
1975 2007-12-07  Ulrich Drepper  <drepper@redhat.com>
1976
1977         [BZ #5454]
1978         * inet/ether_line.c: Strip hostname of whitespaces.
1979         * inet/Makefile (tests): Add tst-ether_line.
1980         * inet/tst-ether_line.c: New file.
1981
1982 2007-12-03  Ulrich Drepper  <drepper@redhat.com>
1983
1984         [BZ #5439]
1985         * sysdeps/unix/sysv/linux/sys/signalfd.h: Fix use of __nonnull.
1986
1987         [BZ #5435]
1988         * sysdeps/unix/sysv/linux/i386/makecontext.S: Align stack.
1989
1990         * stdlib/tst-setcontext.c: Catch the case where the links gets
1991         messed up and we do not reach main again.
1992
1993         * po/ca.po: Update from translation team.
1994
1995 2007-11-26  Ulrich Drepper  <drepper@redhat.com>
1996
1997         * posix/unistd.h: Declare fsync also for __USE_XOPEN2K.
1998         * posix/regex.h (REG_ENOSYS): Likewise.
1999         * wcsmbs/wchar.h: Define __need_file also for __USE_XOPEN2K.
2000
2001 2007-11-25  Ulrich Drepper  <drepper@redhat.com>
2002
2003         * nscd/nscd.h (MAX_STACK_USE): Define.
2004         * nscd/mem.c (MAX_STACK_USE): Remove definition here.
2005         (gc): Initialize stack_used based on allocation in prune_cache.
2006         * nscd/cache.c (prune_cache): Use heap for mark array if necessary.
2007         Clear array before use.
2008
2009         * nscd/aicache.c (addhstaiX): Update statistics counter in case
2010         memory allocation failed.
2011         * nscd/hstcache.c (cache_addhst): Likewise.
2012         * nscd/grpcache.c (cache_addgr): Likewise.
2013         * nscd/servicescache.c (cache_addserv): Likewise.
2014         * nscd/pwdcache.c (cache_addpw): Likewise.
2015         * nscd/initgrcache.c (addinitgroupsX): Likewise.
2016
2017 2007-11-23  Ulrich Drepper  <drepper@redhat.com>
2018
2019         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Add open
2020         and creat system calls.
2021
2022         * sysdeps/unix/sysv/linux/check_native.c: Include <asm/types.h>.
2023
2024 2007-11-23  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2025
2026         * sysdeps/unix/sysv/linux/Makefile [subdir=inet] (sysdep_headers):
2027         Add netiucv/iucv.h.
2028         * sysdeps/unix/sysv/linux/netiucv/iucv.h: New file.
2029         * sysdeps/unix/sysv/linux/opensock.c (__opensock): Add AF_IUCV
2030         protocol.
2031         * sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Likewise.
2032         * sysdeps/unix/sysv/linux/s390/opensock.c: New file.
2033         * sysdeps/unix/sysv/linux/s390/sa_len.c: New file.
2034
2035 2007-11-22  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2036
2037         * sysdeps/s390/bits/string.h (strlen, strcpy, strncpy, strcat,
2038         strncat): Define as macros to avoid compile errors.
2039
2040         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list:  Add open and
2041         creat entries.
2042
2043 2007-11-22  Ulrich Drepper  <drepper@redhat.com>
2044
2045         [BZ #5382]
2046         * nscd/nscd.h (NSCD_THREAD_STACKSIZE): Define.
2047         * nscd/connections.c (start_threads): Use NSCD_THREAD_STACKSIZE.
2048         * nscd/mem.c (gc): Don't allocate arrays on the stack if they can
2049         overflow it.
2050         Partially based on a patch by Petr Baudis <pasky@suse.cz>.
2051
2052         * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
2053         Return zero in case the thread library is not NPTL.
2054
2055         [BZ #5375]
2056         * resolv/res_hconf.c (_res_hconf_reorder_addrs): Fix locking when
2057         initializing interface list.
2058
2059         [BZ #5378]
2060         * nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
2061         use result of nss_getgrgid_r if nothing was found.  For other
2062         error return with a failure.
2063         Partially based on a patch by Petr Baudis <pasky@suse.cz>.
2064
2065         * locale/programs/ld-collate.c (collate_read): Fix loop to match
2066         macro name.
2067
2068 2007-11-19  Ulrich Drepper  <drepper@redhat.com>
2069
2070         * sysdeps/posix/getaddrinfo.c (defaults_scopes, scopes): New variables.
2071         (get_scope): For IPv4 scope, use scopes table.
2072         (fini): Free scopes table if necessary.
2073         (free_scopelist): New function.
2074         (scopecmp): New function.
2075         (gaiconf_init): Also handle scopev4 entries.
2076         * posix/tst-rfc3484.c (do_test): Initialize scopes.
2077         * posix/tst-rfc3484-2.c (do_test): Likewise.
2078         * posix/gai.conf: Document scopev4 defaults.
2079         * posix/Makefile (tests): Add tst-rfc3484-3.
2080         * posix/tst-rfc3484-3.c: New file.
2081
2082         * sysdeps/posix/getaddrinfo.c (default_labels): Describe entry for
2083         Teredo tunnels.
2084         * posix/gai.conf: Update for current default tables.
2085
2086 2007-11-19  Ulrich Drepper  <drepper@redhat.com>
2087
2088         * po/tr.po: Update from translation team.
2089
2090 2007-11-18  Roland McGrath  <roland@frob.com>
2091
2092         * manual/arith.texi (Remainder Functions): Spelling fix.
2093         From Shaun Silk <genix@mysoul.com.au>.
2094
2095         * sysdeps/mach/hurd/bits/fcntl.h (O_CLOEXEC): Fix value.
2096
2097 2007-11-17  Ulrich Drepper  <drepper@redhat.com>
2098
2099         * po/zh_CN.po: Update from translation team.
2100
2101         * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
2102         Add sys/signalfd.h and sys/eventfd.h.
2103
2104 2007-11-15  Bruno Haible  <bruno@clisp.org>
2105
2106         [BZ #5346]
2107         * intl/dcigettext.c (struct known_translation_t): Turn msgid into a
2108         union.
2109         (transcmp): Use the appropriate part of s1->msgid and s2->msgid.
2110         (DCIGETTEXT): Change the allocation of the 'search' variable so that
2111         it needs only fixed stack space. Delay the initialization of
2112         msgid_len until it is needed.
2113
2114 2007-11-15  Andreas Jaeger  <aj@suse.de>
2115
2116         * sysdeps/ieee754/dbl-64/sincos.tbl: Fix size of union.
2117         Reported by Christoph Quirin Lauter <christoph.lauter@ens-lyon.fr>.
2118
2119 2007-11-15  Ulrich Drepper  <drepper@redhat.com>
2120
2121         * po/ko.po: Update from translation team.
2122
2123 2007-11-14  Ulrich Drepper  <drepper@redhat.com>
2124
2125         * sysdeps/unix/sysv/linux/check_native.c (__check_native): Simplify
2126         significantly.  The device type is also part of the ifinfomsg data.
2127
2128         * po/sv.po: Update from translation team.
2129         * po/nl.po: Likewise.
2130
2131         * nscd/cache.c (prune_cache): If cache is empty, instruct caller
2132         to wake up in 24 hours.
2133
2134         * nscd/gai.c (__ioctl): Define.  Include check_native.c.
2135
2136 2007-11-13  Ulrich Drepper  <drepper@redhat.com>
2137
2138         * po/cs.po: Update from translation team.
2139         * po/pl.po: Likewise.
2140
2141         * include/ifaddrs.h: Remove in6ai_temporary.
2142         (struct in6addrinfo): Add index element.
2143         Declare __check_native.
2144         * inet/Makefile (aux): Add check_native.
2145         * sysdeps/unix/sysv/linux/check_native.c: New file.
2146         * sysdeps/unix/sysv/linux/check_pf.c: No need to recognize
2147         IFA_F_TEMPORARY.  Pass back ifa_index.
2148         * sysdeps/posix/getaddrinfo.c: Remove netlink compatibility code.
2149         (rfc3484_sort): Add new parameter.  Implement rule 7 correctly:
2150         call __check_native if necessary.
2151         (getaddrinfo): Fill in index field.  Use qsort_r instead of qsort
2152         to sort addresses.  Pass information about the results.
2153         * posix/tst-rfc3484.c: Adjust for addition of index field and change
2154         of rfc3484_sort interface.
2155         * posix/tst-rfc3484-2.c: Likewise.
2156
2157         * stdlib/stdlib.h: Define __compar_d_fn_t.  Declare qsort_r.
2158         * include/stdlib.h: Add hidden_proto for qsort_t and adjust protoype
2159         for _quicksort.
2160         * stdlib/msort.c (qsort): Now a wrapper around qsort_r.
2161         (qsort_r): Renamed from qsort.  Take additional parameter and pass it
2162         on as third parameter to compare function and _quicksort.
2163         * stdlib/qsort.c (_quicksort): Take additional parameter and pass on
2164         to the compare function.
2165         * stdlib/Versions [libc] (GLIBC_2.8): Add qsort_r.
2166         * Versions.def: Add GLIBC_2.8 for libc.
2167
2168         * posix/tst-rfc3484.c: Adjust for addition of prefixlen field.
2169         * posix/tst-rfc3484-2.c: Likewise.
2170
2171         * include/kernel-features.h: Moved to...
2172         * sysdeps/mach/hurd/kernel-features.h: ...here.
2173
2174 2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
2175
2176         * sysdeps/i386/i586/memcpy_chk.S: New file.
2177         * sysdeps/i386/i586/mempcpy_chk.S: Likewise.
2178         * sysdeps/i386/i586/memset_chk.S: Likewise.
2179
2180 2007-11-12  Ulrich Drepper  <drepper@redhat.com>
2181
2182         * include/ifaddrs.c (struct in6addrinfo): Add prefixlen field.
2183         * sysdeps/unix/sysv/linux/check_pf.c (make_request): Always return
2184         list of interfaces.  Also store prefix length.
2185         * sysdeps/posix/getaddrinfo.c (sort_result): Add prefixlen element.
2186         (rfc3484_sort): In rule 9, for IPv4 addresses count only matching
2187         prefix if source and destination address are in the same subnet.
2188         (getaddrinfo): Always call __check_pf.  Fill in prefixlen field.
2189         Always look for matching record in in6ai list.
2190         Correct source_addr_len value for IPv6->IPv4 converted records.
2191
2192 2007-11-11  Roland McGrath  <roland@frob.com>
2193
2194         * include/kernel-features.h: New file.
2195
2196 2007-11-10  Ulrich Drepper  <drepper@redhat.com>
2197
2198         * sysdeps/pthread/aio_misc.c (handle_fildes_io): Avoid unnecessary
2199         complications for 64-bit platforms.
2200
2201         * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..
2202         * sysdeps/unix/sysv/linux/open64_2.c: ...here.  New file.
2203         * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
2204         open64_2.
2205         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat
2206         entries.
2207         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
2208         * sysdeps/wordsize-64/alphasort.c: New file.
2209         * sysdeps/wordsize-64/alphasort64.c: New file.
2210         * sysdeps/wordsize-64/fseeko.c: New file.
2211         * sysdeps/wordsize-64/fseeko64.c: New file.
2212         * sysdeps/wordsize-64/ftello.c: New file.
2213         * sysdeps/wordsize-64/ftello64.c: New file.
2214         * sysdeps/wordsize-64/ftw.c: New file.
2215         * sysdeps/wordsize-64/ftw64.c: New file.
2216         * sysdeps/wordsize-64/iofgetpos.c: New file.
2217         * sysdeps/wordsize-64/iofgetpos64.c: New file.
2218         * sysdeps/wordsize-64/iofopen.c: New file.
2219         * sysdeps/wordsize-64/iofopen64.c: New file.
2220         * sysdeps/wordsize-64/iofsetpos.c: New file.
2221         * sysdeps/wordsize-64/iofsetpos64.c: New file.
2222         * sysdeps/wordsize-64/lockf.c: New file.
2223         * sysdeps/wordsize-64/lockf64.c: New file.
2224         * sysdeps/wordsize-64/mkostemp.c: New file.
2225         * sysdeps/wordsize-64/mkostemp64.c: New file.
2226         * sysdeps/wordsize-64/mkstemp.c: New file.
2227         * sysdeps/wordsize-64/mkstemp64.c: New file.
2228         * sysdeps/wordsize-64/scandir.c: New file.
2229         * sysdeps/wordsize-64/scandir64.c: New file.
2230         * sysdeps/wordsize-64/tmpfile.c: New file.
2231         * sysdeps/wordsize-64/tmpfile64.c: New file.
2232         * sysdeps/wordsize-64/versionsort.c: New file.
2233         * sysdeps/wordsize-64/versionsort64.c: New file.
2234         * sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file.
2235         * sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file.
2236         * sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file.
2237         * sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file.
2238         * sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file.
2239         * sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file.
2240         * sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file.
2241         * sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file.
2242         * sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file.
2243         * sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file.
2244         * sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file.
2245         * sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file.
2246
2247         * crypt/sha256-crypt.c: Fix a comment.
2248         * crypt/sha512-crypt.c: Likewise.
2249
2250 2007-11-07  H.J. Lu  <hongjiu.lu@intel.com>
2251
2252         * sysdeps/x86_64/memset.S: Add sfence after movnti.
2253
2254 2007-11-07  Ulrich Drepper  <drepper@redhat.com>
2255
2256         [BZ #5277]
2257         * iconv/loop.c (STANDARD_TO_LOOP_ERR_HANDLER): If conversion failed
2258         because output buffer is too small break, don't loop.
2259         * iconvdata/Makefile (tests): Add bug-iconv6.
2260         * iconvdata/bug-iconv6.c: New file.
2261
2262 2007-11-06  Ulrich Drepper  <drepper@redhat.com>
2263
2264         * stdio-common/vfprintf.c (vfprintf): Compute necessary buffer size
2265         with size_t type.
2266         * stdio-common/printf_fp.c (__print_fp): Change chars_needed type to
2267         size_t.  Add casts where needed.
2268
2269         * nscd/selinux.c (nscd_request_avc_has_perm): When compiled with
2270         old headers, don't call avc_has_perm if we don't have the
2271         permission information.
2272
2273 2007-11-05  Daniel Jacobowitz  <dan@codesourcery.com>
2274
2275         * elf/rtld.c (dl_main): Use the page size to find the map start.
2276
2277 2007-11-05  Ulrich Drepper  <drepper@redhat.com>
2278
2279         * time/tzfile.c (__tzfile_read): Fix check for version 0 data files.
2280         Patch by Szymon Siwek <sls@poczta.wp.pl>.
2281
2282         * nscd/aicache.c (addhstaiX): Check herrno after IPv4 lookup only
2283         when the lookup call failed.
2284
2285         * nscd/nscd.h (struct database_dyn): Rename prunelock to prune_lock.
2286         Add prune_cond and wakeup_time.
2287         (CACHE_PRUNE_INTERNAL): Define.
2288         Update declarations of prune_cache and setup_thread.
2289         * nscd/connections.c (dbs): Update initializers.
2290         (CACHE_PRUNE_INTERNAL): Moved to nscd.h.
2291         (nscd_init): Default number of threads is now 4.
2292         (invalidate_cache): Take lock before calling prune_cache.
2293         (handle_request): If SELinux forbids the request, say so.
2294         (readylist_cond): Use static initializer.
2295         (nscd_run_prune): New function.  Used only by pruning threads.
2296         (nscd_run_worder): Renamed from nscd_run.  Remove support for pruning
2297         here.
2298         (fd_ready): Update nscd_run reference.
2299         (start_threads): No need to initialize readylist_cond.
2300         Start pruning threads separately.
2301         * nscd/nscd_setup_thread.c: Change return value type to int and always
2302         return 0.
2303         * sysdeps/unix/sysv/linux/nscd_setup_thread.c: Change return value type
2304         to int and return nonzero value if we can use the TID address hack.
2305         * nscd/cache.c (cache_add): If next wakeup time of cleanup thread for
2306         the database is later than the new entry's timeout, update the
2307         wakeup time and wake the cleanup thread.
2308         (prune_cache): Return seconds the next entry in the database is still
2309         valid.  Remove locking for pruning here.
2310         * nscd/nscd.conf: Document default number of threads.
2311
2312 2007-10-31  Ulrich Drepper  <drepper@redhat.com>
2313
2314         * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Make sure
2315         stack is properly aligned for the target function.
2316         Correct unwind info.
2317
2318         * elf/rtld.c (dl_main): Initialize stack and pointer guard early
2319         when using auditing libraries.
2320
2321 2007-10-29  Ulrich Drepper  <drepper@redhat.com>
2322
2323         * resolv/Versions [libresolv] (GLIBC_PRIVATE): Add
2324         _nss_dns_getnetbyaddr2_r.
2325         * resolv/nss_dns/dns-host.c: Define _nss_dns_getnetbyaddr2_r.  Pass
2326         extra parameter to getanswer_r.
2327         (_nss_dns_getnetbyaddr_r): Now a wrapper around
2328         _nss_dns_getnetbyaddr2_r.
2329
2330         * nscd/Makefile (nscd-modules): Replace gethstbynm2_r with
2331         gethstbynm3_r.
2332         * nscd/gethstbynm2_r.c: Remove.
2333         * nscd/gethstbynm3_r.c: New file.
2334         * nscd/aicache.c (addhstaiX): Use __gethostbyaddr2_r instead of
2335         __gethostbyaddr_r.
2336         * nscd/gethstbyad_r.c: Generate __gethostbyaddr2_r function.  Define
2337         __gethostbyaddr_r compatibility wrapper.
2338         * nscd/hstcache.c (cache_addhst): Add ttl parameter.  Use it when
2339         determining timeout of entry.
2340         (lookup): Take new parameter and pass it to __gethostbyname3_r and
2341         __gethostbyaddr2_r.
2342         (addhstbyX): Pass reference to variable for TTL to lookup and
2343         cache_addhst.
2344         * nss/Versions [glibc] (GLIBC_PRIVATE): Export __nss_passwd_lookup2,
2345         __nss_group_lookup2, __nss_hosts_lookup2, __nss_services_lookup2,
2346         and __nss_next2.  Remove __nss_services_lookup.
2347         * nss/XXX-lookup.c: Name function now *_lookup2.  Add new parameter.
2348         Add compat wrapper.
2349         * nss/getXXbyYY_r.c: Changes to call new *_lookup2 functions and
2350         __nss_next2.
2351         * nss/getXXent_r.c: Likewise.
2352         * nss/getnssent_r.c: Likewise.
2353         * nss/nsswitch.c (__nss_lookup): Add new parameter.  If first function
2354         does not exist in module, try the optional second name.
2355         (__nss_next2): New function.
2356         (__nss_next): Now wrapper around __nss_next2.
2357         * nss/nsswitch.h: Adjust __nss_lookup prototype.
2358         Declare __nss_next2.
2359         Adjust definition of db_lookup_function type.
2360         * nss/service-lookup.c: Define NO_COMPAT.
2361         * include/netdb.h: Declare __gethostbyaddr2_r and __gethostbyname3_r.
2362         * inet/ether_hton.c: Use __nss_next2 instead of __nss_next.
2363         * inet/ether_ntoh.c: Likewise.
2364         * sunrpc/netname.c: Likewise.
2365         * sunrpc/publickey.c: Likewise.
2366         * inet/getnetgrent.c: Likewise.  Adjust calls to __nss_lookup.
2367         * inet/gethstbyad_r.c (DB_LOOKUP_FCT): Change to __nss_hosts_lookup2.
2368         * inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
2369         * inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
2370         * inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
2371
2372         * nscd/aicache.c (addhstaiX): Fix default TTL handling.
2373
2374         * inet/getnetgrent.c (setup): Encrypt static pointer.
2375
2376 2007-10-28  Ulrich Drepper  <drepper@redhat.com>
2377
2378         [BZ #5204]
2379         * crypt/sha256c-test.c: Define TIMEOUT to 6 for ancient hardware.
2380         * crypt/sha512c-test.c: Likewise.
2381
2382         [BZ #5225]
2383         * stdio-common/vfscanf.c (_IO_vfwscanf): Don't misuse wp pointer
2384         to keep track of end of %[ format string element.
2385         * stdio-common/Makefile (tests): Add bug20.
2386         * stdio-common/bug20.c: New file.
2387
2388         [BZ #5222]
2389         * elf/dl-load.c (_dl_rtld_di_serinfo): Correct handling of short
2390         path elements in counting mode.
2391
2392 2007-10-27  Andreas Jaeger  <aj@suse.de>
2393
2394         [BZ #5040]
2395         * sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLRDHUP): Add value.
2396
2397         [BZ #3112]
2398         * sysdeps/ia64/backtrace.c (init): Free shared library if incorrect.
2399         (__cleanup): Free shared library when exiting.
2400         * sysdeps/i386/backtrace.c (init): Free shared library if incorrect.
2401         (__cleanup): Free shared library when exiting.
2402
2403 2006-04-14  H.J. Lu  <hongjiu.lu@intel.com>
2404
2405         [BZ #2549]
2406         * math/libm-test.inc (check_float_internal): Support
2407         denormalized return.
2408
2409 2007-10-23  Andreas Jaeger  <aj@suse.de>
2410
2411         [BZ #5208]
2412         * sysdeps/unix/sysv/linux/readahead.c (__readahead): Use
2413         __LONG_LONG_PAIR to handle little endian byte order.
2414         Suggested by abhishekrai@google.com
2415
2416 2007-10-27  Ulrich Drepper  <drepper@redhat.com>
2417
2418         * malloc/arena.c [!NO_THREADS]: Use ATFORK_MEM if defined.
2419
2420 2007-10-26  Ulrich Drepper  <drepper@redhat.com>
2421
2422         * nscd/cache.c (prune_cache): Move test for modified file outside
2423         of locking.
2424
2425 2007-10-21  Andreas Jaeger  <aj@suse.de>
2426
2427         * manual/texinfo.tex: Update to latest version.
2428
2429         * manual/sysinfo.texi (System Parameters): Fix Formatting.
2430
2431         * manual/arith.texi (Status bit operations): Fix formatting.
2432
2433         * manual/errno.texi (Error Messages): Fix formatting.
2434
2435         * manual/sysinfo.texi (System Parameters): Fix formatting.
2436
2437         * manual/libc.texinfo: Update VERSION and UPDATED.
2438
2439 2007-10-19  Roland McGrath  <roland@redhat.com>
2440
2441         * elf/Makefile ($(objpfx)ld.so): Use $(AWK).
2442
2443 2007-10-06  David S. Miller  <davem@davemloft.net>
2444
2445         * configure.in: Add sparcv9v2 and sparc64v2.
2446         * scripts/config.sub: Likewise.
2447         * configure: Regenerate.
2448         * elf/elf.h (HWCAP_SPARC_N2): New.
2449         * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8.
2450         * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'.
2451         (HWCAP_IMPORTANT): Add HWCAP_SPARC_N2.
2452         * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file.
2453         * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file.
2454         * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file.
2455         * sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file.
2456
2457 2007-10-18  Ulrich Drepper  <drepper@redhat.com>
2458
2459         * sunrpc/clnt_udp.c (clntudp_call): Don't block in recvfrom call
2460         even if the poll result indicates there is data to read.
2461         Patch by Jeff Moyer <jmoyer@redhat.com>.
2462
2463 2007-10-18  Roland McGrath  <roland@redhat.com>
2464
2465         * elf/elf.h (NT_PPC_VMX): New macro.
2466
2467 2007-10-17  Ulrich Drepper  <drepper@redhat.com>
2468
2469         * version.h (VERSION): Set to 2.7.90.
2470
2471 2007-10-17  Jakub Jelinek  <jakub@redhat.com>
2472
2473         * sysdeps/x86_64/memset.S (bzero): Renamed to __bzero.  Add
2474         weak_alias.
2475
2476 2007-10-17  Roland McGrath  <roland@frob.com>
2477
2478         * sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU__] (F_DUPFD_CLOEXEC): New.
2479         * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Implement it.
2480
2481 2007-10-17  Ulrich Drepper  <drepper@redhat.com>
2482
2483         * version.h (VERSION): Bump to 2.7.
2484         * include/features.h (__GLIBC_MINOR__): Bump to 7.
2485
2486         [BZ #5186]
2487         * time/tzset.c (__tz_convert): Don't force testing for a change of
2488         TZ if not called from localtime.  But then also see whether the
2489         file changed, in case __use_tzfile is set.
2490
2491         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define F_DUPFD_CLOEXEC.
2492         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
2493         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
2494         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
2495         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
2496         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
2497         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h:  Likewise.
2498         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
2499
2500 2007-10-17  Jakub Jelinek  <jakub@redhat.com>
2501
2502         * sysdeps/posix/getaddrinfo.c (getaddrinfo): When sorting addresses
2503         and admin selects to be able to replace the gai.conf file, lock
2504         data structures around the qsort call.
2505
2506 2007-10-17  Ulrich Drepper  <drepper@redhat.com>
2507
2508         * sysdeps/x86_64/cacheinfo.c: Comment out code added in support of
2509         new memset.
2510         * sysdeps/x86_64/memset.S: Revert to old version for now.  The cost is
2511         too high for the improvements.  Implement bzero unconditionally for
2512         use in libc.
2513
2514 2007-10-17  Ulrich Drepper  <drepper@redhat.com>
2515             Jakub Jelinek  <jakub@redhat.com>
2516
2517         * time/tzfile.c (__tzfile_read): Read POSIX TZ string if available
2518         even when time_t is 32-bit.
2519         (__tzfile_compute): Override POSIX TZ string STD/DST zone names if
2520         timezone data read by __tzfile_default.  Ensure __tzname[0] is
2521         always set after the search.
2522
2523 2007-10-16  Ulrich Drepper  <drepper@redhat.com>
2524
2525         * time/tzfile.c (__tzfile_read): Help the compiler recognize
2526         unreachable code on 32-bit machines.
2527
2528 2007-10-16  Jakub Jelinek  <jakub@redhat.com>
2529
2530         [BZ #5184]
2531         * time/strftime_l.c: Include stdbool.h.
2532         (my_strftime): New wrapper, old function renamed to...
2533         (__strftime_internal): ... new function.  Add tzset_called
2534         argument, pass it down to recursive calls, don't call tzset ()
2535         if already true, set to true after call to tzset ().
2536
2537 2007-10-16  Ulrich Drepper  <drepper@redhat.com>
2538
2539         * time/tzfile.c (__tzfile_read): Take extra memory requested by caller
2540         into account when copying TZ string.
2541
2542 2007-10-16  Jakub Jelinek  <jakub@redhat.com>
2543
2544         * time/tzfile.c (__tzfile_compute): For use_last case set i to
2545         num_transition rather than num_transitions - 1.
2546
2547 2007-10-16  Jakub Jelinek  <jakub@redhat.com>
2548
2549         * sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move
2550         PIC indirect jump.
2551
2552         * sysdeps/x86_64/memset.S: Jump from bzero to memset using
2553         a local label rather than HIDDEN_JUMPTARGET.
2554
2555 2007-10-15  Ulrich Drepper  <drepper@redhat.com>
2556
2557         * sysdeps/x86_64/cacheinfo.c (__x86_64_shared_cache_size): Define.
2558         (init_cacheinfo): Initialize it.
2559         * sysdeps/x86_64/memset.S: Use __x86_64_shared_cache_size.
2560         Always define bzero.
2561         Remove non-glibc code.
2562         * sysdeps/x86_64/bzero.S: Make an empty file.
2563
2564 2007-10-15  H.J. Lu  <hongjiu.lu@intel.com>
2565
2566         * sysdeps/x86_64/cacheinfo.c
2567         (__x86_64_preferred_memory_instruction): New.
2568         (init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.
2569
2570         * sysdeps/x86_64/memset.S: Rewrite.
2571
2572 2007-10-15  Roland McGrath  <roland@redhat.com>
2573
2574         * po/libc.pot: Regenerated.
2575
2576 2007-10-15  Ulrich Drepper  <drepper@redhat.com>
2577
2578         * nss/getXXbyYY_r.c (REENTRANT_NAME): Mangle startp and start_fct
2579         pointers.
2580
2581         [BZ #3425]
2582         * resolv/nss_dns/dns-host.c (getanswer_r): Fail with
2583         NSS_STATUS_NOTFOUND if the server replied with only a CNAME and no
2584         address record to T_A/T_AAAA requests.
2585
2586 2007-10-14  Ulrich Drepper  <drepper@redhat.com>
2587
2588         * posix/glob.c: Reimplement link_exists_p to use fstatat64.
2589
2590         * posix/glob.c: Add some branch prediction throughout.
2591
2592         * nscd/nscd_getgr_r.c (nscd_getgr_r): Store result of successful
2593         read from nscd.
2594
2595         * sysdeps/posix/getaddrinfo.c (struct sort_result): Add
2596         service_order.
2597         (rfc3484_sort): Make sure that even if qsort doesn't support
2598         stable sorting out sorting here is stable by comparing service_order.
2599         (getaddrinfo): Initialize service_order.
2600         * posix/tst-rfc3484.c (do_test): Adjust for addition of
2601         service_order field to sorting structure.
2602         * posix/tst-rfc3484-2.c (do_test): Likewise.
2603
2604         * include/time.h: Declare __tzset_parse_tz and __tzset_compute.
2605         * time/tzset.c (tzset_internal): Break TZ string parsing out into
2606         __tzset_parse_tz and updating of daylight, timezone, tzname into
2607         update_vars.
2608         (__tz_compute): Renamed from tz_compute.  Take additional parameters.
2609         (__tz_convert): Updating of tm_isdst, tm_zone, and tm_gmtoff now
2610         happens in __tz_compute.
2611         * time/tzfile.c (__tzfile_read): Also read TZ string.
2612         (find_transition): Fold into __tzfile_compute.
2613         (__tzfile_compute): For times beyond the last transition try to
2614         use the TZ string.
2615         * timezone/tst-timezone.c: Information in daylight and tzname does
2616         change for Asia/Tokyo timezone with more concrete information.
2617         Remove the test.
2618
2619         * include/stdio.h: Add libc_hidden_proto for ftello.
2620         * libio/ftello.c: Add libc_hidden_def.
2621
2622         [BZ #1140]
2623         * time/tzfile.c (__tzfile_compute): Compute tzname[] values based
2624         on the specified time and not the last entries in the file.  Move
2625         code to determine tzname[] to...
2626         (find_transition): ...here.  Add ugly guess for times before the
2627         first transition.
2628
2629 2007-10-13  Ulrich Drepper  <drepper@redhat.com>
2630
2631         [BZ #3195]
2632         * nscd/nscd_getai.c (__nscd_getai): Set errno to 0 in case we found
2633         no entry.
2634         * nscd/nscd_getgr.c (nscd_getgr_r): Likewise.
2635         * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
2636         * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
2637         * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
2638
2639         * nscd/nscd_getgr_r.c (nscd_getgr_r): Optimize a bit: use simpler
2640         read mechanism when there are no group members and avoid no-op
2641         read syscall in this case.
2642
2643         [BZ #3242]
2644         * nscd/nscd_helper.c (wait_on_socket): Take timeout as parameter.
2645         (__readall): If reading failed due to EAGAIN error wait a bit
2646         and possibly try again.
2647         (__readvall): Likewise.
2648
2649 2007-10-13  Bruno Haible  <bruno@clisp.org>
2650
2651         * intl/dcigettext.c (_nl_find_msg): Unlock the conversions_lock
2652         when we cannot recode the message.
2653
2654 2007-10-13  Ulrich Drepper  <drepper@redhat.com>
2655
2656         [BZ #4359]
2657         * libio/__freading.c (__freading): Don't return true for
2658         write-only streams.  For read/write streams, check whether we
2659         performed a read operation already.
2660         * libio/Makefile (tests): Add tst-ext2.
2661         * libio/tst-ext2.c: New file.
2662
2663 2007-10-12  Ulrich Drepper  <drepper@redhat.com>
2664
2665         * locale/programs/repertoire.c (repertoire_read): Always free
2666         memory for repertoire file name [Coverity CID 270].
2667
2668         * elf/cache.c (save_aux_cache): Free memory allocated for
2669         temporary file name [Coverity CID 267].
2670
2671 2007-10-12  Jakub Jelinek  <jakub@redhat.com>
2672
2673         * misc/Makefile (headers): Add bits/error.h.
2674
2675 2007-10-12  Ulrich Drepper  <drepper@redhat.com>
2676
2677         * posix/fnmatch_loop.c: Take rule index returned as part of
2678         findidx return value into account when accessing weights.
2679         * posix/regcomp.c: Likewise.
2680         * posix/regexec.c: Likewise.
2681
2682         * locale/programs/ld-collate.c (collate_read): Optimize a bit.
2683         (skip_to): Fix problems with parameter of elifdef/elifndef.
2684
2685 2007-10-11  Ulrich Drepper  <drepper@redhat.com>
2686
2687         * iconv/gconv_simple.c: Add some branch prediction.
2688
2689 2007-10-12  Jakub Jelinek  <jakub@redhat.com>
2690
2691         * locale/programs/ld-collate.c (collate_read): If ignore_content
2692         and nowtok is tok_define, eat any tok_eol tokens.
2693
2694 2007-10-11  Jakub Jelinek  <jakub@redhat.com>
2695
2696         * sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC.
2697         (struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage.
2698
2699         * inet/netinet/in.h: Don't include bits/socket.h.
2700         * sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H
2701         macro.
2702         * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
2703
2704 2007-10-10  Ulrich Drepper  <drepper@redhat.com>
2705
2706         * locale/programs/locfile-token.h: Remove tok_elif, add tok_elifdef
2707         and tok_elifndef.
2708         * locale/programs/locfile-kw.gperf: Likewise.
2709         * locale/programs/ld-collate.c: Implement primitive preprocessor.
2710
2711 2007-10-10  Jakub Jelinek  <jakub@redhat.com>
2712
2713         * stdio-common/printf-parse.h: Include string.h and wchar.h.
2714         (__find_specwc): Change into __extern_always_inline function.
2715         (__find_specmb): Likewise.  Remove ps argument.  Use __strchrnul.
2716         (__parse_one_specmb): Remove ps argument.
2717         * stdio-common/vfprintf.c (vfprintf): Remove mbstate variable.
2718         Adjust __find_specmb and __parse_one_specmb callers.
2719         * stdio-common/printf-prs.c (parse_printf_format): Likewise.
2720         * stdio-common/printf-parsemb.c (__find_specwc, __find_specmb):
2721         Removed.
2722         (__parse_one_specmb): Remove ps argument, adjust __find_specmb
2723         caller.
2724
2725 2007-10-09  Ulrich Drepper  <drepper@redhat.com>
2726
2727         * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Work around problem
2728         with some Pentium Ds.
2729
2730 2007-10-08  Ulrich Drepper  <drepper@redhat.com>
2731
2732         * sysdeps/unix/sysv/linux/eventfd_read.c (eventfd_read): Use
2733         __read not read.
2734         * sysdeps/unix/sysv/linux/eventfd_write.c (eventfd_write): Use
2735         __write not write.
2736
2737 2007-10-07  Ulrich Drepper  <drepper@redhat.com>
2738
2739         [BZ #181]
2740         * locale/C-time.c: Set week_1stday data to 19971201.
2741         * locale/programs/ld-time.c (time_finish): Default for
2742         first_workday is Monday.
2743
2744         [BZ #2633]
2745         * wcsmbs/wchar.h: Move many C99 functions into std namespace.
2746
2747         [BZ #5103]
2748         * posix/glob.c (glob): Recognize patterns starting \/.
2749         * posix/tst-gnuglob.c (find_file): Handle absolute path names.
2750         (main): Add test for pattern starting \/.
2751
2752         * misc/error.h: Use __const instead of const.
2753         * misc/bits/error.h: Likewise.
2754
2755 2007-10-07  Andreas Jaeger  <aj@suse.de>
2756
2757         * include/bits/error.h: New file.
2758
2759         * misc/bits/error.h (error_at_line): Fix prototype.
2760
2761 2007-10-06  Ulrich Drepper  <drepper@redhat.com>
2762
2763         [BZ #3924]
2764         * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix a few
2765         more little bugs in creating the stack frame when pltexit has to
2766         be called.
2767
2768         * nscd/nscd_helper.c (__nscd_cache_search): Prevent endless loops.
2769         * nscd/connections.c (verify_persistent_db): Recognize circular lists.
2770
2771         [BZ #4407]
2772         * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Fix *signgamp for -0.0.
2773         * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise.
2774         * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise.
2775         * math/libm-test.inc: Add test for this case.
2776
2777         [BZ #5010]
2778         * sunrpc/svc.c (struct svc_callout): Add sc_mapped element.
2779         (svc_register): Initialize sc_mapped.  Set to TRUE if call to
2780         map service succeeded.
2781         (svc_is_mapped): New function.
2782         (svc_unregister): Use it before trying to unmap service.
2783
2784 2007-10-05  Ulrich Drepper  <drepper@redhat.com>
2785
2786         * timezone/zic.c: Update from tzcode2007h.
2787
2788         [BZ #5063]
2789         * timezone/africa: Update from tzdata2007h.
2790         * timezone/antarctica: Likewise.
2791         * timezone/asia: Likewise.
2792         * timezone/australasia: Likewise.
2793         * timezone/europe: Likewise.
2794         * timezone/leapseconds: Likewise.
2795         * timezone/northamerica: Likewise.
2796         * timezone/southamerica: Likewise.
2797         * timzeone/zone.tab: Likewise.
2798
2799         [BZ #5104]
2800         * elf/do-lookup.h (do_lookup_x): Don't ignore STT_COMMON symbols.
2801
2802         [BZ #5113]
2803         * string/bits/string2.h (__strdup): Cast parameters to calloc to
2804         avoid warning with -Wconversion.
2805         (__strndup): Likewise.
2806         Half the patch by Christian Iseli <christian.iseli@licr.org>.
2807
2808         [BZ #5112]
2809         * nscd/connections.c (restart): Don't resync if database is
2810         disabled.  Patch mostly by Brian De Wolf <bldewolf@csupomona.edu>.
2811
2812         * sysdeps/gnu/netinet/tcp.h: Define TCP_MD5SIG, TCP_MD5SIG_MAXKEYLEN,
2813         struct tcp_md5sig.  Extend struct tcp_info according to recent kernels.
2814
2815         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add eventfd,
2816         evetnfd_read, eventfd_write.
2817         * sysdeps/unix/sysv/linux/eventfd.c: New file.
2818         * sysdeps/unix/sysv/linux/eventfd_read.c: New file.
2819         * sysdeps/unix/sysv/linux/eventfd_write.c: New file.
2820         * sysdeps/unix/sysv/linux/sys/eventfd.h: New file.
2821         * sysdeps/unix/sysv/linux/Versions: Export eventfd, eventfd_read,
2822         eventfd_write for GLIBC_2.7.
2823
2824         * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add signalfd.
2825         * sysdeps/unix/sysv/linux/signalfd.c: New file.
2826         * sysdeps/unix/sysv/linux/sys/signalfd.h: New file.
2827         * sysdeps/unix/sysv/linux/Versions: Export signalfd for GLIBC_2.7.
2828
2829 2007-10-04  Jakub Jelinek  <jakub@redhat.com>
2830
2831         * stdlib/msort.c: Include stdint.h.
2832         (struct msort_param): New type.
2833         (msort_with_tmp): Use struct msort_param pointer for unchanging
2834         parameters.  Add optimized handling for several common sizes
2835         and indirect sorting mode.
2836         (qsort): Adjust msort_with_tmp callers.  For big S use indirect
2837         sorting.
2838         Suggested by Belazougui Djamel .
2839
2840         * stdlib/Makefile (tests): Add tst-qsort2.
2841         * stdlib/tst-qsort2.c: New test.
2842
2843 2007-10-04  Ulrich Drepper  <drepper@redhat.com>
2844
2845         * login/login_tty.c (login_tty): The Linux kernel can return EBUSY
2846         for dup2 in case another thread races with the current one.  Retry
2847         in this case.
2848
2849         * misc/error.h: Remove support for use outside of libc.  We have to
2850         include <features.h> now.  Include <bits/error.h> if possible.
2851         * misc/bits/error.h: New file.
2852
2853 2007-10-03  Jakub Jelinek  <jakub@redhat.com>
2854
2855         * string/bits/string3.h (memcpy, memmove, mempcpy, memset, bcopy,
2856         bzero, strcpy, stpcpy, strncpy, strcat, strncat): Use
2857         __extern_always_inline functions unconditionally, drop macros.
2858
2859         * misc/sys/cdefs.h (__REDIRECT_LDBL, __REDIRECT_NTH_LDBL): New macros.
2860         * wcsmbs/bits/wchar2.h (__swprintf_alias, __vswprintf_alias): Use
2861         __REDIRECT_NTH_LDBL macro rather than __REDIRECT_NTH.
2862
2863         * misc/sys/cdefs.h (__extern_always_inline): For GCC 4.3+
2864         add __artificial__ attribute.
2865
2866 2007-10-02  Ulrich Drepper  <drepper@redhat.com>
2867
2868         * string/strcoll_l.c (STRCOLL): Correct handling of switching from
2869         backward to forward direction.
2870
2871         * string/strcoll_l.c (STRCOLL): Correct test for alloca use.
2872
2873         [BZ #645]
2874         * locale/programs/ld-collate.c (collate_finish): Compare against last
2875         used section which is known to have rules defined.
2876         (collate_read): After order_start, correctly record order of sections
2877         and queue sections up.
2878
2879 2007-10-01  Ulrich Drepper  <drepper@redhat.com>
2880
2881         [BZ #5071]
2882         * malloc/malloc.c (mremap_chunk): Avoid resizing of new block has
2883         the same number of pages.
2884         Patch by Tomash Brechko <tomash.brechko@gmail.com>.
2885
2886         * locale/programs/ld-collate.c (collate_read): After initial copy
2887         statement, continue in state 0.
2888
2889         * include/stdio_ext.h (__fsetlocking): Define as macro.
2890
2891 2007-09-30  Ulrich Drepper  <drepper@redhat.com>
2892
2893         * locale/programs/ld-collate.c (collate_finish): Compare all bytes
2894         of section order.
2895
2896         * po/pt_BR.po: Fix typo.
2897
2898 2007-09-29  Ulrich Drepper  <drepper@redhat.com>
2899
2900         * iconvdata/Makefile (modules): Add ISO8859-9E.
2901         (distribute): Add iso8859-9e.c.
2902         (gen-8bit-gap-modules): Add iso8859-9e.
2903         * iconvdata/iso8859-9e.c: New file.
2904         * iconvdata/gconv-modules: Add entries for ISO-8859-9E.
2905         * iconvdata/TESTS: Likewise.
2906         * iconvdata/tst-tables.sh: Likewise.
2907
2908         * iconvdata/koi8-r.c (HAS_HOLES): Define to 0.
2909
2910         * locale/iso-639.def: Add several new entries.
2911
2912 2007-09-24  Jakub Jelinek  <jakub@redhat.com>
2913
2914         * sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Store
2915         void * pointers instead of struct link_map **.
2916         (_dl_scope_free): Change argument type to void *.
2917         * include/link.h (struct link_map): Change type of l_reldeps
2918         to struct link_map_reldeps, move l_reldepsact into that
2919         struct too.
2920         * elf/dl-deps.c: Include atomic.h.
2921         (_dl_map_object_deps): Only change l->l_initfini when it is
2922         fully populated, use _dl_scope_free for freeing it.  Optimize
2923         removal of libs from reldeps by using l_reserved flag, when
2924         some removal is needed, allocate a new list instead of
2925         reallocating and free the old with _dl_scope_free.  Adjust
2926         for l_reldeps and l_reldepsact changes.
2927         * elf/dl-lookup.c (add_dependency): Likewise.  Reorganize to allow
2928         searching in l_initfini and l_reldeps without holding dl_load_lock.
2929         * elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and
2930         l_reldepsact changes.
2931         * elf/dl-close.c (_dl_close_worker): Likewise.
2932         * elf/dl-open.c (_dl_scope_free): Change argument type to void *.
2933
2934 2007-09-28  Ulrich Drepper  <drepper@redhat.com>
2935
2936         * iconvdata/Makefile (modules): Add KOI8-RU.
2937         (distribute): Add koi8-ru.c.
2938         (gen-8bit-gap-modules): Add koi8-ru.
2939         * iconvdata/koi8-ru.c: New file.
2940         * iconvdata/gconv-modules: Add entries for KOI8-RU.
2941         * iconvdata/TESTS: Likewise.
2942         * iconvdata/tst-tables.sh: Likewise.
2943
2944         * iconvdata/koi8-r.c (HAS_HOLES): Define to 0.
2945
2946 2007-09-26  Jakub Jelinek  <jakub@redhat.com>
2947
2948         * misc/sys/cdefs.h (__warndecl, __errordecl): For GCC 4.3+ define
2949         with __warning__/__error__ attributes.
2950         (__warnattr): Define.
2951         * stdlib/bits/stdlib.h (__realpath_chk_warn, __ptsname_r_chk_warn,
2952         __mbstowcs_chk_warn, __wcstombs_chk_warn): New aliases with
2953         __warnattr.
2954         (realpath, ptsname_r, mbstowcs, wcstombs): Call __*_chk_warn instead
2955         of __*_chk if compile time detectable overflow is found.
2956         * libio/bits/stdio2.h (__fgets_chk_warn, __fread_chk_warn,
2957         __fgets_unlocked_chk_warn, __fread_unlocked_chk_warn): New aliases
2958         with __warnattr.
2959         (fgets, fread, fgets_unlocked, fread_unlocked): Call __*_chk_warn
2960         instead of __*_chk if compile time detectable overflow is found.
2961         (__gets_alias): Rename to...
2962         (__gets_warn): ... this.  Add __warnattr.
2963         (gets): Call __gets_warn instead of __gets_alias.
2964         * socket/bits/socket2.h (__recv_chk_warn, __recvfrom_chk_warn): New
2965         aliases with __warnattr.
2966         (recv, recvfrom): Call __*_chk_warn instead of __*_chk if compile
2967         time detectable overflow is found.
2968         * posix/bits/unistd.h (__read_chk_warn, __pread_chk_warn,
2969         __pread64_chk_warn, __readlink_chk_warn, __readlinkat_chk_warn,
2970         __getcwd_chk_warn, __confstr_chk_warn, __getgroups_chk_warn,
2971         __ttyname_r_chk_warn, __getlogin_r_chk_warn, __gethostname_chk_warn,
2972         __getdomainname_chk_warn): New aliases with __warnattr.
2973         (read, pread, pread64, readlink, readlinkat, getcwd, confstr,
2974         getgroups, ttyname_r, getlogin_r, gethostname, getdomainname): Call
2975         __*_chk_warn instead of __*_chk if compile time detectable overflow
2976         is found.
2977         (__getgroups_chk): Rename argument to __listlen from listlen.
2978         (__getwd_alias): Rename to...
2979         (__getwd_warn): ... this.  Add __warnattr.
2980         (getwd): Call __getwd_warn instead of __getwd_alias.
2981         * wcsmbs/bits/wchar2.h (__wmemcpy_chk_warn, __wmemmove_chk_warn,
2982         __wmempcpy_chk_warn, __wmemset_chk_warn, __wcsncpy_chk_warn,
2983         __wcpncpy_chk_warn, __fgetws_chk_warn, __fgetws_unlocked_chk_warn,
2984         __mbsrtowcs_chk_warn, __wcsrtombs_chk_warn, __mbsnrtowcs_chk_warn,
2985         __wcsnrtombs_chk_warn): New aliases with __warnattr.
2986         (wmemcpy, wmemmove, wmempcpy, wmemset, mbsrtowcs, wcsrtombs,
2987         mbsnrtowcs, wcsnrtombs): Call __*_chk_warn instead of __*_chk if
2988         compile time detectable overflow is found.
2989         (wcsncpy, wcpncpy): Likewise.  For constant __n fix check whether
2990         to use __*_chk or not.
2991         (fgetws, fgetws_unlocked): Divide __bos by sizeof (wchar_t), both
2992         in comparisons which function should be called and in __*_chk*
2993         arguments.  Call __*_chk_warn instead of __*_chk if compile time
2994         detectable overflow is found.
2995         (swprintf, vswprintf): Divide __bos by sizeof (wchar_t) in
2996         __*_chk argument.
2997         * debug/tst-chk1.c (do_test): Add a few more tests.
2998
2999 2007-09-24  Ulrich Drepper  <drepper@redhat.com>
3000
3001         [BZ #5058]
3002         * intl/gettextP.h (struct loaded_domain): Add conversions_lock member.
3003         * intl/loadmsgcat.c (_nl_load_domain): Initialize conversions_lock.
3004         (_nl_unload_domain): Finalize conversions_lock.
3005         * intl/dcigettext.c (_nl_find_msg): Take conversions_lock before
3006         handling table of known conversions.
3007
3008 2007-09-24  Jakub Jelinek  <jakub@redhat.com>
3009
3010         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Use
3011         close_not_cancel_no_status instead of close.
3012
3013 2007-09-13  Aurelien Jarno  <aurelien@aurel32.net>
3014
3015         [BZ #5028]
3016         * posix/regcomp.c (lookup_collation_sequence_value): Check that
3017         nrules != 0 for multibyte chars.
3018
3019 2007-09-23  Ulrich Drepper  <drepper@redhat.com>
3020
3021         * resolv/ns_print.c (ns_sprintrrf): Handle ns_t_a6 and ns_t_opt.
3022         Provide better error message in case the type is unknown.
3023
3024         [BZ #4963]
3025         * wcsmbs/wcsnlen.c: Don't reference before checking the length.
3026         * string/stratcliff.c: Make usable to test wide char functions.
3027         * wcsmbs/wcsatcliff.c: New file.
3028         * wcsmbs/Makefiel (tests): Add wcsatcliff.
3029
3030         [BZ #4972]
3031         * iconvdata/Makefile (modules): Add MAC-CENTRALEUROPE.
3032         (distribute): Add mac-centraleurope.c.
3033         (gen-8bit-gap-modules): Add mac-centraleurope.
3034         * iconvdata/mac-centraleurope.c: New file.
3035         * iconvdata/gconv-modules: Add entries for MAC-CENTRALEUROPE.
3036         * iconvdata/TESTS: Likewise.
3037         * iconvdata/tst-tables.sh: Likewise.
3038
3039         [BZ #5043]
3040         * iconv/iconv_open.c (iconv_open): For large codeset names use malloc.
3041
3042 2007-09-21  Ulrich Drepper  <drepper@redhat.com>
3043
3044         * sysdeps/x86_64/cacheinfo.c (__x86_64_data_cache_size_half): Renamed
3045         from __x86_64_core_cache_size_half.
3046         (init_cacheinfo): Compute shared cache size for AMD processors with
3047         shared L3 correctly.
3048         * sysdeps/x86_64/memcpy.S: Adjust for __x86_64_data_cache_size_half
3049         name change.
3050         Patch in large parts by Evandro Menezes.
3051
3052 2007-09-19  Ulrich Drepper  <drepper@redhat.com>
3053
3054         * elf/dl-lookup.c (add_dependency): Handle failing memory
3055         allocation for dependency list.  Remove unnecessary check.
3056
3057         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Avoid unnecessary
3058         open/close when determining source addresses.
3059
3060         * crypt/Makefile (libcrypt-routines): Add sha256-crypt, sha256,
3061         sha512-crypt, and sha512.
3062         (tests): Add sha256test, sha256c-test, sha512test, and sha512c-test.
3063         (distribute): Add sha256.h and sha512.h.
3064         * crypt/crypt-entry.c (crypt): Recognize the new $5$ and $6$ prefixes
3065         and call the appropriate code.
3066         * crypt/sha256-crypt.c: New file.
3067         * crypt/sha256.c: New file.
3068         * crypt/sha256.h: New file.
3069         * crypt/sha256c-test.c: New file.
3070         * crypt/sha256test.c: New file.
3071         * crypt/sha512-crypt.c: New file.
3072         * crypt/sha512.c: New file.
3073         * crypt/sha512.h: New file.
3074         * crypt/sha512c-test.c: New file.
3075         * crypt/sha512test.c: New file.
3076
3077 2007-09-19  Jakub Jelinek  <jakub@redhat.com>
3078
3079         * misc/bits/syslog.h (syslog): Remove extraneous argument from
3080         the inline, pass __USE_FORTIFY_LEVEL - 1 as second argument to
3081         __syslog_chk.
3082
3083 2007-09-18  Jakub Jelinek  <jakub@redhat.com>
3084
3085         * locale/programs/charmap-dir.c (charmap_aliases): Use %ms instead of
3086         %as in fscanf format strings.
3087
3088         * sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup.
3089         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
3090         * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start):
3091         Likewise.
3092         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start):
3093         Likewise.
3094
3095         * sysdeps/generic/ldsodefs.h (DL_LOOKUP_GSCOPE_LOCK): New definition.
3096         * elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Or in
3097         DL_LOOKUP_GSCOPE_LOCK into flags after THREAD_GSCOPE_SET_FLAG ().
3098         * elf/dl-sym.c (do_sym): Likewise.
3099         * include/link.h (struct link_map): Add l_serial field.
3100         * elf/dl-object.c (_dl_new_object): Initialize l_serial.
3101         * elf/dl-lookup.c (add_dependency): Add flags argument.
3102         Remember map->l_serial, if DL_LOOKUP_GSCOPE_LOCK is among
3103         flags, use THREAD_GSCOPE_RESET_FLAG before and
3104         THREAD_GSCOPE_SET_FLAG after
3105         __rtld_lock_lock_recursive (GL(dl_load_lock)) to avoid deadlock.
3106         Don't dereference map until it has been found on some list.
3107         If map->l_serial changed, return -1.
3108
3109 2007-09-17  Jakub Jelinek  <jakub@redhat.com>
3110
3111         * include/stdio.h (__isoc99_fscanf, __isoc99_scanf,
3112         __isoc99_sscanf, __isoc99_vscanf): New prototypes.
3113         (__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add
3114         libc_hidden_proto.
3115         * include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf,
3116         __isoc99_swscanf, __isoc99_vwscanf): New prototypes.
3117         (__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes,
3118         add libc_hidden_proto.
3119         * libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf,
3120         vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
3121         conformance requested.
3122         * wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf,
3123         vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX
3124         conformance requested.
3125         * libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf,
3126         vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX
3127         conformance requested.
3128         * wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf,
3129         vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict
3130         ISO C99 or POSIX conformance requested.
3131         * stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7,
3132         __isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7,
3133         __isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7
3134         and __isoc99_vsscanf@@GLIBC_2.7.
3135         * stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf,
3136         isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf.
3137         (tests): Add scanf14.
3138         (CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c,
3139         CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c,
3140         CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c,
3141         CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c,
3142         CFLAGS-isoc99_scanf.c): Add $(exceptions).
3143         (CFLAGS-scanf15.c): Add various -I paths to prevent the compiler
3144         from using internal headers.
3145         * wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7,
3146         __isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7,
3147         __isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7
3148         and __isoc99_vswscanf@@GLIBC_2.7.
3149         * wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf,
3150         isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf.
3151         (CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c,
3152         CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions).
3153         (CPPFLAGS): Add -D_IO_MTSAFE_IO if needed.
3154         * stdio-common/isoc99_scanf.c: New file.
3155         * stdio-common/isoc99_vsscanf.c: New file.
3156         * stdio-common/isoc99_vscanf.c: New file.
3157         * stdio-common/isoc99_vfscanf.c: New file.
3158         * stdio-common/isoc99_fscanf.c: New file.
3159         * stdio-common/isoc99_sscanf.c: New file.
3160         * wcsmbs/isoc99_fwscanf.c: New file.
3161         * wcsmbs/isoc99_vswscanf.c: New file.
3162         * wcsmbs/isoc99_swscanf.c: New file.
3163         * wcsmbs/isoc99_wscanf.c: New file.
3164         * wcsmbs/isoc99_vwscanf.c: New file.
3165         * wcsmbs/isoc99_vfwscanf.c: New file.
3166         * libio/libio.h (_IO_FLAGS2_SCANF_STD): Define.
3167         * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also
3168         clear _IO_FLAGS2_SCANF_STD bit from _flags2.
3169         * stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't
3170         handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2.
3171         * stdio-common/scanf14.c: New test.
3172         * stdio-common/scanf15.c: New test.
3173         * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
3174         isoc99_scanf, isoc99_fscanf, isoc99_sscanf,
3175         isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf,
3176         isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf,
3177         isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf.
3178         * sysdeps/ieee754/ldbl-opt/Versions (libc): Export
3179         __nldbl___isoc99_scanf@@GLIBC_2.7,
3180         __nldbl___isoc99_fscanf@@GLIBC_2.7,
3181         __nldbl___isoc99_sscanf@@GLIBC_2.7,
3182         __nldbl___isoc99_vscanf@@GLIBC_2.7,
3183         __nldbl___isoc99_vfscanf@@GLIBC_2.7,
3184         __nldbl___isoc99_vsscanf@@GLIBC_2.7,
3185         __nldbl___isoc99_wscanf@@GLIBC_2.7,
3186         __nldbl___isoc99_fwscanf@@GLIBC_2.7,
3187         __nldbl___isoc99_swscanf@@GLIBC_2.7,
3188         __nldbl___isoc99_vwscanf@@GLIBC_2.7,
3189         __nldbl___isoc99_vfwscanf@@GLIBC_2.7
3190         and __nldbl___isoc99_vswscanf@@GLIBC_2.7.
3191         * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf,
3192         __isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf,
3193         __isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf,
3194         __isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf,
3195         __isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL.
3196         * sysdeps/ieee754/ldbl-opt/nldbl-compat.c
3197         (__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf,
3198         __nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf,
3199         __nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf,
3200         __nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf,
3201         __nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf,
3202         __nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New
3203         functions.
3204         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file.
3205         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file.
3206         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file.
3207         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file.
3208         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file.
3209         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file.
3210         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file.
3211         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file.
3212         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file.
3213         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file.
3214         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file.
3215         * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file.
3216
3217         * stdio-common/Makefile (tests): Add scanf13.
3218         (scanf13-ENV): New.
3219         * stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle
3220         m modifier followed by l.
3221         (STRING_ARG): Add width argument.
3222         (_IO_vfscanf_internal) <case L_('c')>: Handle %mc.
3223         <case L_('C')>: Handle %mlc and %mC.
3224         <case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG
3225         arguments.
3226         * stdio-common/scanf13.c: New test.
3227
3228         * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear
3229         the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags.
3230
3231 2007-09-18  Ulrich Drepper  <drepper@redhat.com>
3232
3233         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Correct return value
3234         type and __THROW marker of splice, vmsplice, and tee.
3235         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
3236         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
3237         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
3238         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
3239         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
3240         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
3241         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
3242         * sysdeps/unix/sysv/linux/syscalls.list: Mark splice, vmsplice, and tee
3243         as cancellation points.
3244
3245 2003-11-01  Daniel Jacobowitz  <dan@debian.org>
3246
3247         * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion): Don't
3248         parse more than three parts of the version number.
3249
3250 2007-09-15  Ulrich Drepper  <drepper@redhat.com>
3251
3252         * stdio-common/vfscanf.c (_IO_vfwscanf): Add support for 'm'
3253         modifier.  Patch by Jakub Jelinek.
3254
3255 2007-08-26  Jakub Jelinek  <jakub@redhat.com>
3256
3257         * sysdeps/unix/sysv/linux/i386/Makefile (sysdep_routines): Add
3258         call_fallocate in misc subdir.
3259         * sysdeps/unix/sysv/linux/i386/call_fallocate.S: New file.
3260         * sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate64): Remove.
3261         * sysdeps/unix/sysv/linux/i386/posix_fallocate.c: Use __call_fallocate
3262         instead of __fallocate64.
3263         * sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: Likewise.
3264
3265 2007-09-15  Jakub Jelinek  <jakub@redhat.com>
3266
3267         * rt/Versions (librt): Export __mq_open_2@@GLIBC_2.7.
3268         * rt/Makefile (headers): Add bits/mqueue2.h.
3269         * rt/mqueue.h: Include bits/mqueue2.h if -D_FORTIFY_SOURCE=2,
3270         optimizing with GCC and __va_arg_pack_len is defined.
3271         * rt/bits/mqueue2.h: New file.
3272         * rt/mq_open.c (__mq_open): Renamed from mq_open.
3273         (mq_open): New strong_alias.
3274         (__mq_open_2): New function.
3275         * sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Renamed from mq_open.
3276         (mq_open): New strong_alias.
3277         (__mq_open_2): New function.
3278         * debug/Versions (libc): Export __fortify_fail@@GLIBC_PRIVATE.
3279         * Versions.def (librt): Add GLIBC_2.7 version.
3280         * debug/fortify_fail.c (__fortify_fail): Add libc_hidden_def.
3281         * include/stdio.h (__fortify_fail): Add libc_hidden_proto.
3282
3283         * misc/sys/cdefs.h (__errordecl, __va_arg_pack_len): Define.
3284         * io/fcntl.h: Include bits/fcntl2.h when __va_arg_pack_len
3285         is defined rather than when not C++.
3286         * io/bits/fcntl2.h (__open_alias, __open64_alias, __openat_alias,
3287         __openat64_alias): New redirects.
3288         (__open_too_many_args, __open_missing_mode, __open64_too_many_args,
3289         __open64_missing_mode, __openat_too_many_args, __openat_missing_mode,
3290         __openat64_too_many_args, __openat64_missing_mode): New __errordecls.
3291         (open, open64, openat, openat64): Rewrite as __extern_always_inline
3292         functions instead of function-like macros.
3293
3294 2007-09-14  H.J. Lu  <hongjiu.lu@intel.com>
3295
3296         * sysdeps/i386/i586/memcpy.S (__memcpy_chk): New definition.
3297         * sysdeps/i386/i586/mempcpy.S (__memcpy_chk): New definition.
3298         * sysdeps/i386/i586/memset.S (__memset_chk): New definition.
3299
3300 2007-09-15  Mike Frysinger  <vapier@gentoo.org>
3301
3302         * inet/inet_net.c: Reset digit to 0 for inputs starting with "0x".
3303         * inet/tst-network.c (tests): Add edge case tests for "0", "0x", "0x0".
3304
3305 2007-09-14  Mike Frysinger  <vapier@gentoo.org>
3306
3307         * inet/tst-network.c: Increment ERRORS for failing tests.
3308
3309 2007-09-07  Jakub Jelinek  <jakub@redhat.com>
3310
3311         * misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+.
3312         * misc/bits/syslog.h (syslog): When __va_arg_pack is defined,
3313         implement as __extern_always_inline function.
3314         (vsyslog): Define as __extern_always_inline function unconditionally.
3315         * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf):
3316         When __va_arg_pack is defined, implement as __extern_always_inline
3317         functions.
3318         (vsprintf, vsnprintf, vprintf, vfprintf): Define as
3319         __extern_always_inline functions unconditionally.
3320         * libio/bits/stdio.h (vprintf): Ifdef out the inline when
3321         bits/stdio2.h will be included.
3322         * wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect.
3323         (swprintf, wprintf, fwprintf): When __va_arg_pack is defined,
3324         implement as __extern_always_inline functions.
3325         (vswprintf, vwprintf, vfwprintf): Define as
3326         __extern_always_inline functions unconditionally.
3327         * debug/tst-chk1.c (do_test): Enable remaining tests for C++.
3328
3329 2007-09-03  Jakub Jelinek  <jakub@redhat.com>
3330
3331         * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only
3332         define in C++ for GCC 4.3+, in C++ always use __gnu_inline__
3333         attribute.
3334         * include/features.h (__USE_EXTERN_INLINES): Define only when
3335         __extern_inline is defined.
3336         * stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline
3337         is defined instead of when not __cplusplus.
3338         * misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline
3339         is defined instead of when not __cplusplus.
3340         * socket/sys/socket.h: Include bits/socket2.h when
3341         __extern_always_inline is defined instead of when not __cplusplus.
3342         * libio/stdio.h: Include bits/stdio2.h when __extern_always_inline
3343         is defined instead of when not __cplusplus.
3344         * posix/unistd.h: Include bits/unistd.h when __extern_always_inline
3345         is defined instead of when not __cplusplus.
3346         * string/string.h: Include bits/string3.h when __extern_always_inline
3347         is defined instead of when not __cplusplus.
3348         * wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline
3349         is defined instead of when not __cplusplus.
3350         (btowc, wctob): Don't guard the inlines with ifndef __cplusplus.
3351         * io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline
3352         is not defined.
3353         * misc/bits/syslog-ldbl.h: Guard *_chk stuff with
3354         defined __extern_always_inline instead of !defined __cplusplus.
3355         * libio/bits/stdio-ldbl.h: Likewise.
3356         * wcsmbs/bits/wchar-ldbl.h: Likewise.
3357         * misc/bits/syslog.h (syslog): Don't define for C++.
3358         (vsyslog): Use __extern_always_inline function for C++ instead of
3359         a macro.
3360         * libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline
3361         whenever that macro is defined.
3362         (vprintf): Don't provide the inline for C++.
3363         (fread_unlocked, fwrite_unlocked): Don't define the macros for C++.
3364         * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't
3365         define the macros for C++.
3366         (vsprintf, vsnprintf, vprintf, vfprintf): Define as
3367         __extern_always_inline functions for C++.
3368         * io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat,
3369         stat64, lstat64, fstat64, fstatat64): Don't define if not
3370         __USE_EXTERN_INLINES.
3371         * wcsmbs/bits/wchar2.h: Fix #error message.
3372         (swprintf, wprintf, fwprintf): Don't define the macros for C++.
3373         (vswprintf, vwprintf, vfwprintf): Define using
3374         __extern_always_inline functions for C++.
3375         * string/bits/string3.h: Don't #undef macros if __cplusplus.
3376         (memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy,
3377         strncpy, strcat, strncat): Define as __extern_always_inline
3378         functions instead of macros for C++.
3379         * math/bits/cmathcalls.h: Guard __extern_inline routines with
3380         defined __extern_inline.
3381         * sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define
3382         to __extern_inline whenever that macro is defined.
3383         * sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
3384         * sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
3385         * sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise.
3386         * sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise.
3387         * sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
3388         * sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
3389         * sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
3390         * sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise.
3391         * sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major,
3392         gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from
3393         prototypes.  Only provide __extern_inline routines if
3394         __USE_EXTERN_INLINES.
3395         * debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6}
3396         tests.
3397         * debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++.
3398         For now avoid some *printf tests in C++.  Skip all testing
3399         if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro
3400         is not.
3401         * debug/tst-chk4.cc: New file.
3402         * debug/tst-chk5.cc: New file.
3403         * debug/tst-chk6.cc: New file.
3404         * debug/tst-lfschk4.cc: New file.
3405         * debug/tst-lfschk5.cc: New file.
3406         * debug/tst-lfschk6.cc: New file.
3407         * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid
3408         prototypes in C++.
3409         * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
3410         __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
3411         __vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
3412
3413 2007-09-13  Ulrich Drepper  <drepper@redhat.com>
3414
3415         * po/cs.po: Update from translation team.
3416
3417 2007-09-11  Roland McGrath  <roland@redhat.com>
3418
3419         * posix/Makefile ($(objpfx)getconf.speclist): Make it empty if cross
3420         compiling.
3421
3422 2007-09-07  Samuel Thibault  <samuel.thibault@ens-lyon.org>
3423
3424         * sysdeps/mach/hurd/bits/ioctls.h (TAB3): New macro.
3425
3426 2007-09-05  Roland McGrath  <roland@redhat.com>
3427
3428         * manual/signal.texi (Signaling Another Process): Typo fix.
3429         From Karl Berry <karl@freefriends.org>.
3430
3431 2007-08-29  Ulrich Drepper  <drepper@redhat.com>
3432
3433         * sysdeps/unix/sysv/linux/check_pf.c (IFA_F_OPTIMISTIC): Define to
3434         zero if not defined.
3435         (make_request): Recognize optimistic addresses and treat them like
3436         deprecated addresses.
3437         Reported by Neil Horman <nhorman@redhat.com>.
3438
3439 2007-08-28  Ulrich Drepper  <drepper@redhat.com>
3440
3441         * nscd/connections.c (send_ro_fd): Also transfer file size.
3442         * nscd/nscd_helper.c (get_mapping): If nscd also transfers the
3443         file size don't call fstat.
3444
3445         * nscd/nscd_helper.c (get_mapping): Avoid the pread call, just go
3446         ahead and map the file.  This should always be correct and we can
3447         catch problems later.
3448
3449 2007-08-28  Jakub Jelinek  <jakub@redhat.com>
3450
3451         * libio/bits/stdio2.h (__fread_chk, __fread_unlocked_chk): New
3452         prototypes.
3453         (__fread_alias, __fread_unlocked_alias): New aliases.
3454         (fread): New extern inline.
3455         (fread_unlocked): Likewise.  Undef macro before definition of
3456         the inline function.
3457         * debug/Makefile (routines): Add fread_chk and fread_u_chk.
3458         (CFLAGS-fread_chk.c, CFLAGS-fread_u_chk.c): Add.
3459         * debug/Versions (libc): Export __fread_chk@@GLIBC_2.7
3460         and __fread_unlocked_chk@@GLIBC_2.7.
3461         * debug/fread_chk.c: New file.
3462         * debug/fread_u_chk.c: New file.
3463         * debug/tst-chk1.c (do_test): Add fread and fread_unlocked tests.
3464
3465 2007-08-27  Jakub Jelinek  <jakub@redhat.com>
3466
3467         * sysdeps/unix/sysv/linux/syscalls.list
3468         (personality): Change caller to EXTRA.
3469
3470 2007-08-25  Ulrich Drepper  <drepper@redhat.com>
3471
3472         * iconvdata/iso-2022-kr.c (BODY): Fake initialization of array buf
3473         to keep gcc quiet.
3474         * iconvdata/iso-2022-cn.c (BODY): Likewise.
3475
3476         * locale/programs/ld-collate.c (collate_output): Avoid warning if
3477         NDEBUG is defined.
3478
3479         * Makerules: Use -p option with mkdir.
3480
3481         * sunrpc/key_prot.c (xdr_unixcred): Work around gcc alias warning.
3482         * nis/nis_xdr.c (_xdr_nis_server): Likewise.
3483         (_xdr_directory_obj): Likewise.
3484         (xdr_entry_obj): Likewise.
3485         (xdr_group_obj): Likewise.
3486         (xdr_link_obj): Likewise.
3487         (xdr_table_obj): Likewise.
3488         (_xdr_nis_result): Likewise.
3489         (_xdr_ns_request): Likewise.
3490         (_xdr_ib_request): Likewise.
3491         (_xdr_nis_taglist): Likewise.
3492         (xdr_cback_data): Likewise.
3493         * nis/yp_xdr.c (xdr_ypmaplist): Likewise.
3494         (xdr_ypresp_maplist): Likewise.
3495
3496         * stdio-common/Makefile: Avoid format string warning for tst-sprint.
3497
3498         * posix/regex_internal.h: Prevent some declarations and definitions
3499         to be seen when used in tests.
3500
3501         * posix/tst-rfc3484.c (__idna_to_unicode_lzlz): Initialize *OUTPUT.
3502         * posix/tst-rfc3484-2.c (__idna_to_unicode_lzlz): Likewise.
3503
3504         * debug/Makefile: Disable format checking when compiling tst-chk?.c.
3505
3506         * config.make.in (datarootdir): Add to shut up configure.
3507
3508         * sysdeps/x86_64/cacheinfo.c (handle_amd): Fix computation of
3509         associativity for fully-associative caches.
3510
3511         * sysdeps/x86_64/cacheinfo.c (handle_amd): Handle L3 cache
3512         requests.  Fill on more associativity values for L2.
3513         Patch mostly by Evandro Menezes.
3514
3515 2007-08-24  Ulrich Drepper  <drepper@redhat.com>
3516
3517         * sysdeps/unix/sysv/linux/x86_64/init-first.c
3518         (_libc_vdso_platform_setup): Avoid using exported variable by using
3519         alias.
3520
3521         * resolv/arpa/nameser.h (NS_OPT_DNSSEC_OK): Define.
3522
3523         * sysdeps/unix/sysv/linux/i386/syscalls.list: No reason to mark
3524         fallocate64 as EXTRA.  It is not referenced if the symbol isn't
3525         defined.
3526
3527 2007-08-23  Ulrich Drepper  <drepper@redhat.com>
3528
3529         * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Correctly
3530         align stack for call if pltexit is to be used.
3531
3532         [BZ #3924]
3533         * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Correctly
3534         align for function call in case pltexit has to be called later.
3535
3536         * sysdeps/i386/dl-trampoline.S (_dl_runtime_resolve): Avoid
3537         implicit atomic operation when storing function pointer.
3538         (_dl_runtime_profile): Likewise.
3539
3540 2007-08-17  Jakub Jelinek  <jakub@redhat.com>
3541
3542         * nis/nis_table.c (nis_list): Don't fail if __follow_path returned
3543         NIS_NOTFOUND.
3544
3545 2007-08-21  Ulrich Drepper  <drepper@redhat.com>
3546
3547         [BZ #4566]
3548         * string/strtok.c: Fix typo in comment.
3549
3550         [BZ #4582]
3551         * debug/segfault.c: Fix typos in comments.
3552
3553         [BZ #4588]
3554         * stdio-common/tempnam.c: Fix comment, it is not checked that
3555         TMPDIR points to a writable directory.
3556
3557         [BZ #4726]
3558         * resolv/res_send.c (__libc_res_nsend): Initialize all of the
3559         memory allocated for the name server address.
3560
3561         [BZ #4946]
3562         * nscd/connections.c (handle_request): Using sendfile always
3563         requires that mmap is used for the database.
3564         Patch by Petr Baudis <pasky@suse.cz>.
3565
3566         [BZ #4905]
3567         * nscd/hstcache.c (cache_addhst): When reloading an entry which
3568         suddenly has two or more addresses, ignore it and remove the old
3569         entry.
3570
3571         [BZ #4814]
3572         * resolv/res_hconf.c: Prepare for compiling outside libc.
3573         * nscd/res_hconf.c: New file.
3574         * nscd/Makefile (nscd-modules): Add res_hconf.  Add rules to build
3575         the new file.
3576         * nscd/gethstbynm2_r.c (NEED__RES_HCONF): Define.
3577         * nscd/gethstbyad_r.c (NEED__RES_HCONF): Likewise.
3578
3579         * nscd/hstcache.c (cache_addhst): Minimal optimization.
3580
3581         [BZ #4925]
3582         * debug/pcprofiledump.c: Turn on internationalization by calling
3583         setlocale.  Patch mostly by Benno Schulenberg.
3584
3585         [BZ #4936]
3586         * iconv/gconv.c (__gconv): If flush was successful, clear rest of
3587         the state.
3588         * iconvdata/Makefile: Add rules to build and run bug-iconv5.
3589         * iconvdata/bug-iconv5.c: New file.
3590
3591 2007-08-04  Carlos O'Donell  <carlos@systemhalted.org>
3592
3593         [BZ #4896]
3594         * elf/elf.h: Define R_PARISC_PLABEL21L, R_PARISC_PLABEL14R,
3595         R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT, R_PARISC_TLS_GD21L,
3596         R_PARISC_TLS_GD14R, R_PARISC_TLS_GDCALL, R_PARISC_TLS_LDM21L,
3597         R_PARISC_TLS_LDM14R, R_PARISC_TLS_LDMCALL, R_PARISC_TLS_LDO21L,
3598         R_PARISC_TLS_LDO14R, R_PARISC_TLS_DTPMOD32, R_PARISC_TLS_DTPMOD64,
3599         R_PARISC_TLS_DTPOFF32, R_PARISC_TLS_DTPOFF64, R_PARISC_TLS_LE21L,
3600         R_PARISC_TLS_LE14R, R_PARISC_TLS_IE21L, R_PARISC_TLS_IE14R,
3601         R_PARISC_TLS_TPREL32, R_PARISC_TLS_TPREL64.
3602
3603 2007-08-21  Ulrich Drepper  <drepper@redhat.com>
3604
3605         [BZ #4937]
3606         * elf/do-lookup.h (do_lookup_x): Minimal improvement in hash
3607         lookup loop.  Suggested by John Reiser.
3608
3609 2007-08-21  Jakub Jelinek  <jakub@redhat.com>
3610
3611         * sysdeps/unix/sysv/linux/alpha/sysdep.h: Include tls.h.
3612
3613 2007-08-20  Ulrich Drepper  <drepper@redhat.com>
3614
3615         * csu/libc-start.c: Don't handle VDSO_SETUP here.
3616         * sysdeps/unix/sysv/linux/init-first.c: Handle it here instead.
3617         * sysdeps/unix/sysv/linux/x86_64/libc-start.c: Renamed to...
3618         * sysdeps/unix/sysv/linux/x86_64/init-first.c: ...this.  New file.
3619         * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Move VDSO_SETUP code
3620         to...
3621         * sysdeps/unix/sysv/linux/x86_64/init-first.c: ...here.  New file.
3622
3623 2007-08-18  Ulrich Drepper  <drepper@redhat.com>
3624
3625         * po/nl.po: Update from translation team.
3626
3627 2007-08-16  Andreas Jaeger  <aj@suse.de>
3628
3629         * locale/localeinfo.h: Make _nl_category_name_idxs extern.
3630         Reported by Peter Festner <peter.festner@ewetel.net>.
3631
3632 2007-08-17  Jakub Jelinek  <jakub@redhat.com>
3633
3634         * login/tst-grantpt.c (test_einval): Add 3rd argument to open.
3635
3636 2007-08-16  Jakub Jelinek  <jakub@redhat.com>
3637
3638         * elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u
3639         to check for undefined symbols.
3640
3641         * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone):
3642         If the syscall fails, set errno to the actual returned error number
3643         rather than EINVAL.
3644         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone): If
3645         arguments are incorrect, set errno to EINVAL, if the syscall
3646         fails, set errno to the actual returned error number.
3647
3648         * stdlib/bits/stdlib-ldbl.h (__strtold_internal): Remove.
3649         * wcsmbs/bits/wchar-ldbl.h (__wcstold_internal): Remove.
3650
3651         * sysdeps/sparc/sparc32/sparcv9b/memcpy.S: Moved to...
3652         * sysdeps/sparc/sparc32/sparcv9/sparcv9b/memcpy.S: ... here.  New
3653         file.
3654         (ASI_PNF, ASI_BLK_P): Don't define.
3655         * sysdeps/sparc/sparc32/sparcv9v/memcpy.S: Moved to...
3656         * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memcpy.S: ... here.  New
3657         file.
3658         * sysdeps/sparc/sparc32/sparcv9v/memset.S: Moved to...
3659         * sysdeps/sparc/sparc32/sparcv9/sparcv9v/memset.S: ... here.  New
3660         file.
3661
3662 2007-08-15  Jakub Jelinek  <jakub@redhat.com>
3663
3664         * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising
3665         FE_UNDERFLOW on Niagara CPUs.
3666
3667         * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all
3668         exceptions.
3669
3670 2007-08-14  Jakub Jelinek  <jakub@redhat.com>
3671
3672         * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup): No
3673         need to check GLRO(dl_hwcap) & HWCAP_SPARC_FLUSH on sparcv9.
3674         (sparc_fixup_plt): Add do_flush argument instead of figuring whether
3675         flush should be used or not inside of the function.
3676         (elf_machine_fixup_plt, elf_machine_rela): Adjust caller.
3677
3678         * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone,
3679         __thread_start): Use HIDDEN_JUMPTARGET.
3680         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__clone,
3681         __thread_start): Likewise.
3682         * sysdeps/unix/sysv/linux/sparc/sysdep.h (JUMPTARGET): Define.
3683
3684         * sysdeps/ieee754/ldbl-64-128/strtold_l.c (__STRTOF): Declare.
3685         Add libc_hidden_proto.
3686         (STRTOF): Add libc_hidden_proto.
3687         (___new_strtold_l, ___new_wcstold_l): New weak aliases.
3688         (strtold_l, wcstold_l): Use them as second argument for
3689         long_double_symbol.
3690
3691 2007-08-14  Ulrich Drepper  <drepper@redhat.com>
3692
3693         * elf/dl-misc.c: Undo last change.  The kernel won't allow it.
3694
3695 2007-08-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
3696
3697         * stdlib/strtold_l.c: Include wchar.h if needed.  Add libc_hidden_def.
3698
3699 2007-08-14  Ulrich Drepper  <drepper@redhat.com>
3700
3701         * po/bg.po: New file.  From the translation team.
3702
3703 2007-08-13  Jakub Jelinek  <jakub@redhat.com>
3704
3705         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PSELECT,
3706         __ASSUME_PPOLL, __ASSUME_ATFCTS, __ASSUME_SET_ROBUST_LIST,
3707         __ASSUME_UTIMENSAT, __ASSUME_FALLOCATE): Update per-arch conditions
3708         when each feature was introduced.
3709
3710         * sysdeps/unix/sysv/linux/dl-vdso.c: Don't include dl-hash.h.
3711         * sysdeps/unix/sysv/linux/dl-vdso.h: Don't include dl-hash.h if NDEBUG.
3712         (CHECK_HASH): New macro.
3713         (PREPARE_VERSION): Use it.
3714
3715         * sysdeps/unix/sysv/linux/pselect.c (__generic_pselect): Only provide
3716         prototype if not __ASSUME_PSELECT.
3717         * sysdeps/unix/sysv/linux/ppoll.c (__generic_ppoll): Only provide
3718         prototype if not __ASSUME_PPOLL.
3719
3720         * sysdeps/unix/sysv/linux/dl-osinfo.h (ROUND): #undef after use.
3721
3722         * sysdeps/unix/clock_settime.c (freq, __pthread_clock_settime,
3723         hp_timing_settime): Don't define or declare if HANDLED_CPUTIME
3724         is defined.
3725
3726 2007-08-13  Ulrich Drepper  <drepper@redhat.com>
3727
3728         * sysdeps/unix/sysv/linux/x86_64/libc-start.c
3729         (_libc_vdso_platform_setup): If vDSO is not available point
3730         __vdso_gettimeofday to the vsyscall.
3731         * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S [SHARED]: Use
3732         __vdso_gettimeofday instead of vsyscall.
3733
3734 2007-08-13  Jakub Jelinek  <jakub@redhat.com>
3735
3736         * nscd/servicescache.c: Include kernel-features.h.
3737         * nscd/gai.c: Likewise.
3738         * sysdeps/unix/sysv/linux/statfs64.c: Likewise.
3739         * sysdeps/unix/sysv/linux/fstatfs64.c: Likewise.
3740         * sysdeps/unix/sysv/linux/fxstatat.c: Likewise.
3741         * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise.
3742         * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise.
3743         * sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
3744         * sysdeps/unix/sysv/linux/if_index.c: Likewise.
3745         * sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: Likewise.
3746         * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
3747
3748 2007-08-12  Ulrich Drepper  <drepper@redhat.com>
3749
3750         * elf/dl-dst.h: No need for _dl_dst_count, _dl_dst_substitute,
3751         and _dl_get_origin defines anymore.
3752
3753         * sysdeps/unix/sysv/linux/clock_gettime.c (maybe_syscall_gettime_cpu):
3754         Build fix for systems which might lack POSIX timer support.
3755
3756         * sysdeps/unix/sysv/linux/x86_64/libc-start.c
3757         (_libc_vdso_platform_setup): Mangle function pointers before storing
3758         them.
3759         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INLINE_VSYSCALL):
3760         Demangle vdso pointer before use.
3761         (INTERNAL_VSYSCALL): Likewise.
3762
3763         * elf/cache.c (primes): Mark as const.
3764         Noted by Roland McGrath.
3765
3766 2007-08-01  Andreas Jaeger  <aj@suse.de>
3767             Jakub Jelinek  <jakub@redhat.com>
3768
3769         * elf/ldconfig.c (opt_ignore_aux_cache): Add new option.
3770         (options): Add option.
3771         (parse_opt): Handle option.
3772         (manual_link): Adjust process_file caller.  Call implicit_soname.
3773         (search_dir): Formatting.  Use and populate auxiliary cache.
3774         (main): Load and save auxiliary cache.
3775         * elf/readlib.c (process_file): Add stat_buf argument.  Pass struct
3776         stat64 from fstat64 to caller.
3777         (implicit_soname): New function.
3778         * elf/readelflib.c (process_elf_file): If DT_SONAME is not present,
3779         leave *soname as NULL.
3780         * elf/cache.c: Include libgen.h.
3781         (print_entry, print_cache, compare, save_cache, add_to_cache):
3782         Formatting and cleanups.
3783         (aux_cache_entry_id, aux_cache_entry, aux_cache_file_entry,
3784         aux_cache_file): New structures.
3785         (AUX_CACHEMAGIC): Define.
3786         (primes): New array.
3787         (aux_hash_size, aux_hash): New variables.
3788         (aux_cache_entry_id_hash, nextprime, init_aux_cache,
3789         search_aux_cache, insert_to_aux_cache, add_to_aux_cache,
3790         load_aux_cache, save_aux_cache): New functions.
3791         * sysdeps/generic/ldconfig.h (_PATH_LDCONFIG_AUX_CACHE): Define.
3792         (init_aux_cache, search_aux_cache, add_to_aux_cache,
3793         load_aux_cache, save_aux_cache, implicit_soname): New prototypes.
3794         (process_file): Adjust prototype.
3795
3796 2007-08-12  Jakub Jelinek  <jakub@redhat.com>
3797
3798         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Include stddef.h
3799         with __need_size_t.
3800
3801 2007-08-12  Ulrich Drepper  <drepper@redhat.com>
3802
3803         * sysdeps/unix/sysv/linux/dl-vdso.c (_dl_vdso_vsym): Expect
3804         r_found_version structure as second parameter.
3805         * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Define.
3806         (_dl_vdso_vsym): Change type of second parameter accordingly.
3807         * sysdeps/unix/sysv/linux/x86-64/libc-start.c
3808         (_libc_vdso_platform_setup): Adjust.
3809         * sysdeps/unix/sysv/linux/powerpc/libc-start.c
3810         (_libc_vdso_platform_setup): Likewise.
3811
3812         * sysdeps/unix/sysv/linux/powerpc/dl-vdso.c: Move to...
3813         * sysdeps/unix/sysv/linux/dl-vdso.c: ...here.
3814         * sysdeps/unix/sysv/linux/powerpc/dl-vdso.h: Move to...
3815         * sysdeps/unix/sysv/linux/dl-vdso.h: ...here.
3816         * csu/libc-start.c: Pretty printing.
3817         Use VDSO_SETUP if defined.
3818         * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Define VDSO_SETUP
3819         and let generic code call into _libc_vdso_platform_setup.
3820         * sysdeps/unix/sysv/linux/x86_64/libc-start.c: New file.
3821         * sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: New file.
3822         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Pretty printing.
3823         Define INLINE_VSYSCALL and INTERNAL_VSYSCALL.
3824         * sysdeps/unix/sysv/linux/x86_64/Versions: Export __vdso_clock_gettime
3825         for GLIBC_PRIVATE.
3826         * sysdeps/unix/sysv/linux/x86_64/Makefile [subdir=elf]
3827         (sysdep_rountines): Add dl-vdso.
3828
3829         * sysdeps/unix/sysv/linux/powerpc/Makefile: Use sysdep_routines instead
3830         of routines.
3831
3832         * sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h: Add
3833         attribute_hidden to __vdso_gettimeofday prototype.
3834
3835 2007-08-12  Roland McGrath  <roland@redhat.com>
3836
3837         * manual/stdio.texi (Variable Arguments Output): Fix xref to gcc manual.
3838         From: Karl Berry <karl@freefriends.org>.
3839
3840 2007-08-11  Ulrich Drepper  <drepper@redhat.com>
3841
3842         * elf/dl-misc.c (_dl_sysdep_read_whole_file): We really don't need
3843         an atime update for the files we read.
3844
3845 2007-08-10  Ulrich Drepper  <drepper@redhat.com>
3846
3847         * shadow/lckpwdf.c (__lckpwdf): Use O_CLOEXEC if possible.
3848
3849         * nscd/connections.c: Use O_CLOEXEC if possible.  Use mkostemp
3850         instead of mkstemp.
3851
3852         * misc/Makefile (routines): Add mkostemp and mkostemp64.
3853         * misc/Versions: Export mkostemp and mkostemp64 for GLIBC_2.7.
3854         * misc/mkostemp.c: New file.
3855         * misc/mkostemp64.c: New file.
3856         * stdlib/stdlib.h: Declare the new functions.
3857         * sysdeps/posix/tempname.c: Add new parameter which is added to
3858         the flags for open.  Remove __GT_BIGFILE handling.
3859         * stdio-common/tempname.c: Likewise.
3860         * include/stdio.h: Adjust __gen_tempname prototype.
3861         Renumber __GT_* constants.
3862         * libio/oldtmpfile.c: Adjust for __gen_tempname interface change.
3863         * misc/mkdtemp.c: Likewise.
3864         * misc/mkstemp.c: Likewise.
3865         * misc/mkstemp64.c: Likewise.
3866         * misc/mktemp.c: Likewise.
3867         * stdio-common/tempnam.c: Likewise.
3868         * stdio-common/tmpfile.c: Likewise.
3869         * stdio-common/tmpfile64.c: Likewise.
3870         * stdio-common/tmpnam.c: Likewise.
3871         * stdio-common/tmpnam_r.c: Likewise.
3872
3873 2007-08-10  Roland McGrath  <roland@frob.com>
3874
3875         * sysdeps/mach/hurd/bits/ioctls.h (NLDLY, TABDLY, BSDLY, VTDLY):
3876         New macros.
3877         (NLDELAY, CRDELAY, TBDELAY, BSDELAY, VTDELAY): Define to those.
3878         Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
3879
3880 2007-08-10  Ulrich Drepper  <drepper@redhat.com>
3881
3882         * nss/nss_files/files-XXX.c (internal_setent): Use O_CLOEXEC if
3883         possible.
3884         * nss/nss_files/files-alias.c (internal_setent): Likewise.
3885         * nss/Makefile (libnss_files-routines): Add files-have_o_cloexec.
3886         * nss/nss_files/files-have_o_cloexec.c: New file.
3887
3888         * sysdeps/unix/sysv/linux/shm_open.c (shm_open): Use O_CLOEXEC if
3889         available.
3890
3891 2007-08-10  Jakub Jelinek  <jakub@redhat.com>
3892
3893         * sysdeps/ieee754/ldbl-128ibm/strtold_l.c (___new_strtold_l,
3894         ___new_wcstold_l): New weak aliases.
3895         (strtold_l, wcstold_l): Use them as second argument for
3896         long_double_symbol.
3897
3898 2007-08-09  Ulrich Drepper  <drepper@redhat.com>
3899
3900         * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: Use correct
3901         register in test for error.
3902
3903         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_CLOEXEC): Define.
3904         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_CLOEXEC): Likewise.
3905
3906         * po/sv.po: Update from translation team.
3907
3908 2007-08-06  Roland McGrath  <roland@redhat.com>
3909
3910         * include/stdlib.h: Add libc_hidden_proto for strto*, __strto*_l.
3911         Remove __strto*_l inlines.
3912         * include/wchar.h: Add libc_hidden_proto for wcsto*, __wcsto*_l.
3913         * stdlib/strtod.c: Add libc_hidden_def.
3914         * stdlib/strtod_l.c: Likewise.
3915         * stdlib/strtold.c [__LONG_DOUBLE_MATH_OPTIONAL]: Add libc_hidden_proto
3916         for __new_strtold and __new_wcstold.
3917         * sysdeps/ieee754/ldbl-128ibm/strtold_l.c: Add libc_hidden_proto for
3918         __STRTOF, STRTOF.
3919         * stdlib/strtol.c: Add libc_hidden_def.
3920         * stdlib/strtol_l.c: Likewise.
3921         * sysdeps/wordsize-64/strtol.c: Add libc_hidden_ver for strtoll and
3922         strtoq.
3923
3924         * scripts/data/localplt-powerpc-linux-gnu.data: New file.
3925
3926         * scripts/data/localplt-x86_64-linux-gnu.data: File renamed to ...
3927         * scripts/data/localplt-generic.data: ... here.
3928         * elf/Makefile (check-data): Get generic file if no other.
3929         ($(objpfx)check-localplt.out): Make target unconditional.
3930
3931         * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_discover_osversion):
3932         Use ElfW(Nhdr).
3933
3934 2007-08-05  Ulrich Drepper  <drepper@redhat.com>
3935
3936         * po/zh_CN.po: Updated translation from translation team.
3937
3938 2007-08-05  Jakub Jelinek  <jakub@redhat.com>
3939
3940         * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
3941         Don't use CGOTSETUP and CGOTRESTORE macros.
3942
3943 2007-08-04  Roland McGrath  <roland@redhat.com>
3944
3945         * posix/Makefile ($(objpfx)getconf.speclist): Fix typo.
3946
3947 2007-08-04  Jakub Jelinek  <jakub@redhat.com>
3948
3949         * io/bits/fcntl2.h (open, open64, openat, openat64): Add
3950         __extension__ around the whole statement expression.
3951
3952 2007-08-04  Ulrich Drepper  <drepper@redhat.com>
3953
3954         * sysdeps/unix/opendir.c (__alloc_dir): Correct order of DIR
3955         elements during initialization.
3956
3957         * po/pl.po: Updated translation from translation team.
3958         * po/tr.po: Likewise.
3959         * po/nl.po: Likewise.
3960
3961 2007-08-03  Ulrich Drepper  <drepper@redhat.com>
3962
3963         * rt/aio.h: Add __nonnull attributes.
3964
3965 2007-08-03  Jakub Jelinek  <jakub@redhat.com>
3966
3967         * stdlib/strtod_l.c (____STRTOF_INTERNAL): Properly handle -0.
3968         * stdlib/Makefile (tests): Add tst-strtod5.
3969         (tst-strtod5-ENV): New.
3970         * stdlib/tst-strtod5.c: New file.
3971
3972         * intl/dcigettext.c (_nl_find_msg): Free encoding if __gconv_open
3973         failed.
3974         * intl/finddomain.c (_nl_find_domain): Free normalized_codeset
3975         on failure.
3976
3977         * elf/dl-load.c (decompose_rpath): Free copy if result couldn't be
3978         allocated.
3979
3980 2007-08-03  Jakub Jelinek  <jakub@redhat.com>
3981
3982         * rt/mqueue.h (mq_timedreceive, mq_timedsend): Fix nonnull argument
3983         numbers.
3984
3985 2007-08-02  Ulrich Drepper  <drepper@redhat.com>
3986
3987         * io/Makefile (aux): Add have_o_cloexec.
3988         * include/fcntl.h: Declare __have_o_cloexec.
3989         * io/have_o_cloexec.c: New file.
3990         * sysdeps/unix/opendir.c (__opendir): Use O_CLOEXEC is available.
3991         (__alloc_dir): If O_CLOEXEC has been used, don't duplicate the
3992         fcntl call if not necessary.
3993         * login/utmp_file.c (setutent_file): Use __have_o_cloexec instead
3994         of local variable.
3995
3996         * sysdeps/unix/opendir.c (__alloc_dir): Don't initialize ->data.
3997         Avoid memset, add explicit initialization.
3998         * sysdeps/unix/dirstream.h (struct __dirstream): Move data elemtn
3999         to the end and change into zero-sized array.
4000         Move lock member to fill a hole on 64-bit platforms.
4001
4002         * stdlib/stdlib.h: Remove __strto*_internal prototypes and strto*
4003         inline functions.
4004         * include/stdlib.h: Add __strto*_internal prototypes here.
4005         * wcsmbs/wchar.h: Remove __wcsto*_internal prototypes and wcsto*
4006         inline functions.
4007         * include/wchar.h: Add __wcsto*_internal prototypes.
4008         * sysdeps/generic/inttypes.h: No need to protect the declaration
4009         of the __strto*_internal and __wcsto*_internal members here.
4010
4011         * rt/mqueue.h: Change const to __const and add nonnull attributes.
4012
4013 2007-08-02  Roland McGrath  <roland@redhat.com>
4014
4015         * posix/Makefile ($(inst_libexecdir)/getconf): Make hard links to
4016         $(inst_bindir)/getconf if possible.
4017
4018         * posix/Makefile ($(objpfx)getconf.speclist): New target.
4019         (generated): Add it.
4020         ($(inst_libexecdir)/getconf): Use it.
4021
4022 2007-08-01  Ulrich Drepper  <drepper@redhat.com>
4023
4024         * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Using
4025         /proc is faster and sufficient.  /sys is still needed for
4026         __get_nprocs_conf.
4027
4028 2007-08-01  Jakub Jelinek  <jakub@redhat.com>
4029
4030         * sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate): Add fallocate
4031         syscall as __fallocate64.
4032         * sysdeps/unix/sysv/linux/i386/posix_fallocate.c: New file.
4033         * sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: New file.
4034
4035 2007-07-30  Jakub Jelinek  <jakub@redhat.com>
4036
4037         * stdlib/tst-strtod2.c (do_test): Use %tu in fmt string for ptrdiff_t
4038         value.
4039
4040         * stdio-common/tst-fmemopen2.c (do_test): Avoid fmt string warning
4041         if off_t is different rank from size_t.
4042
4043         * sysdeps/generic/unwind-dw2.c (extract_cie_info, execute_cfa_program,
4044         uw_frame_state_for): Avoid type punning warnings.
4045         * sysdeps/generic/unwind-dw2-fde-glibc.c
4046         (_Unwind_IteratePhdrCallback): Likewise.
4047         * sysdeps/generic/unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
4048         (binary_search_single_encoding_fdes, binary_search_mixed_encoding_fdes,
4049         get_cie_encoding, linear_search_fdes): Don't mix char and unsigned char
4050         pointers.
4051
4052 2007-07-31  Ulrich Drepper  <drepper@redhat.com>
4053
4054         * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Count
4055         total processors using sysfs.
4056         (__get_nprocs): Use sysfs to determine which processors are online.
4057
4058 2007-07-31  Jakub Jelinek  <jakub@redhat.com>
4059
4060         * sysdeps/unix/sysv/linux/posix_fallocate.c (posix_fallocate): Fix
4061         syscall arguments count.
4062
4063         * stdio-common/tfformat.c (sprint_doubles): Add 12 new tests.
4064
4065 2007-07-30  Roland McGrath  <roland@redhat.com>
4066
4067         * manual/libc.texinfo: Update copyrights, formatting magic, and
4068         @dircategory.  From Karl Berry <karl@freefriends.org>.
4069
4070 2007-07-29  Ulrich Drepper  <drepper@redhat.com>
4071
4072         [BZ #4860]
4073         * io/Makefile (headers): Add bits/fcntl2.h.
4074
4075         * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO_S): Optimize
4076         using gcc builtin.
4077         (__CPU_EQUAL_S): Likewise.
4078
4079         * posix/Makefile (routines): Add sched_cpualloc and sched_cpufree.
4080         (tests): Add tst-cpuset.
4081         * posix/sched_cpualloc.c: New file.
4082         * posix/sched_cpufree.c: New file.
4083         * posix/tst-cpuset.c: New file.
4084         * posix/Versions: Export __sched_cpualloc and __sched_cpufree for
4085         GLIBC_2.7.
4086         * sysdeps/unix/sysv/linux/bits/sched.h: Define __CPU_*_S macros.
4087         * posix/sched.h: Define old CPU_* macros in temers of __CPU_*_S
4088         macros.  Define CPU_*_S macros.
4089
4090 2007-07-28  Ulrich Drepper  <drepper@redhat.com>
4091
4092         * posix/getconf.c (vars): Add missing _SC_LEVEL4_CACHE_LINESIZE
4093         entry.
4094
4095         [BZ #4858]
4096         * stdio-common/printf_fp.c (___printf_fp): Fix special case of
4097         #.0g and value rounded to 1.0.
4098         * stdio-common/tfformat.c (sprint_doubles): Add two new tests.
4099
4100 2007-07-26  Jakub Jelinek  <jakub@redhat.com>
4101
4102         * locale/programs/ld-monetary.c (monetary_finish): Avoid range check
4103         for int_frac_digits and frac_digits.
4104
4105         * login/logout.c (logout): Avoid aliasing violation.
4106         * login/logwtmp.c (logwtmp): Likewise.
4107
4108         * libio/genops.c (_IO_un_link): Avoid aliasing violation.
4109
4110         * nscd/selinux.c (preserve_capabilities): Initialize new_caps
4111         to avoid warning.
4112         * iconv/gconv_open.c (__gconv_open): Initialize ptr to avoid
4113         warning.
4114         * nis/nis_subr.c (nis_getnames): Initialize saveptr to avoid
4115         warning.
4116         * resolv/inet_ntop.c (inet_ntop6): Initialize best.len and cur.len
4117         to avoid warnings.
4118
4119         * nss/nsswitch.c (__nss_lookup_function): Don't cast &ni->known to
4120         void **.
4121         * nss/nsswitch.h (service_user): Use void * type for KNOWN field.