Update.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2006-04-23  Ulrich Drepper  <drepper@redhat.com>
2
3         * nis/nss_nisplus/nisplus-netgrp.c: Cleanups.   
4
5         [BZ #1951]
6         * sysdeps/posix/sigset.c (sigset): Return correct value reflecting
7         previous signal state.
8         * signal/Makefile (tests): Add tst-sigset2.
9         * signal/tst-sigset2.c: New file.
10
11 2006-04-21  Jakub Jelinek  <jakub@redhat.com>
12
13         * argp/argp.h (__option_is_short): Check upper limit of
14         __key.  isprint() requires its argument to have the value
15         of an unsigned char or EOF.
16         Patch by Sergey Poznyakoff <gray@Mirddin.farlep.net>.
17
18 2006-04-21  Ulrich Drepper  <drepper@redhat.com>
19
20         [BZ #2534, BZ #2535]
21         * posix/regex.h: Remove obsolete <sys/types.h> comment and special
22         handling for VMS.
23
24         * iconvdata/ibm437.c: Define HAS_HOLES to 0.
25         * iconvdata/ibm861.c: Likewise.
26         * iconvdata/ibm862.c: Likewise.
27         * iconvdata/ibm863.c: Likewise.
28         * iconvdata/ibm865.c: Likewise.
29         Reported by <ash@contact.bg>.
30
31 2006-04-19  Ulrich Drepper  <drepper@redhat.com>
32
33         * include/ifaddrs.h: Get uint32_t definition.
34         * posix/tst-rfc3484.c: Update fake __check_pf implementation.
35         * posix/tst-rfc3484-2.c: Likewise.
36
37         * sysdeps/unix/sysv/linux/kernel-features.h: Define
38         __ASSUME_PROC_SELF_FD_SYMLINK.
39         * sysdeps/unix/sysv/linux/ttyname.c: Cleanups.  Avoid compatibility
40         code if possible.  Move compatibility code in .text.compat section.
41         * sysdeps/unix/sysv/linux/ttyname_r.c: Likewise.
42
43 2006-04-18  Ulrich Drepper  <drepper@redhat.com>
44
45         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Rewrite to avoid loop
46         over gaih array.  There is only on function to call in the moment.
47
48 2006-04-16  Ulrich Drepper  <drepper@redhat.com>
49
50         * include/ifaddrs.h: Define struct in6addrinfo.
51         Add two more parameters to __check_pf.
52         * sysdeps/unix/sysv/linux/check_pf.c: When using the netlink
53         interface, determine whether IPv6 addresses are deprecated or
54         temporary.  Create array of those addresses.
55         * inet/check_pf.c: Always tell caller there are no depracated
56         and temporary addresses.
57         * sysdeps/posix/getaddrinfo.c: Pretty printing.
58         (struct sort_result): Add source_addr_flags field.
59         (rfc3484_sort): Implement rule 3 and 7.
60         (in6aicmp): New function.
61         (getaddrinfo): Call __check_pf also when we need info about IPv6
62         source addresses.  When creating array for sorting addresses,
63         look up deprecated and temporary addresses returned by __check_pf
64         and add flag if necessary.
65
66 2006-04-15  Ulrich Drepper  <drepper@redhat.com>
67
68         * sysdeps/posix/getaddrinfo.c: Fix precedence for IP V4-to-V6
69         mapped addresses.
70         * posix/Makefile (tests): Add tst-rfc3484-2.
71         * posix/tst-rfc3484-2.c: New file.
72
73         * nis/nss_nisplus/nisplus-publickey.c: Minor cleanups throughout.
74         * nis/nss_nisplus/nisplus-service.c (_nss_nisplus_parse_servent):
75         Significant cleanups.  Correct adjustment for pointer array.
76         * nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_parse_rpcent):
77         Likewise.
78         * nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_parse_protoent):
79         Likewise.
80         * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_parse_netent):
81         Likewise.
82         * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_parse_hostent):
83         Likewise.
84
85 2006-04-14  Ulrich Drepper  <drepper@redhat.com>
86
87         * sysdeps/unix/sysv/linux/syscalls.list: Add tee syscall.
88         * sysdeps/unix/sysv/linux/Versions: Export tee@GLIBC_2.5.
89         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Add prototype for tee.
90         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
91         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
92         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
93         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
94         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
95         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
96         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
97
98         * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_parse_etherent):
99         Minor cleanups.  NUL terminate name string.
100
101         * nis/Versions: No need to export _nss_nisplus_parse_grent,
102         _nss_nisplus_parse_pwent, and _nss_nisplus_parse_spent.
103
104         * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_parse_aliasent):
105         Avoid unnecessary allocation.  Fix adjustment for pointer value.
106
107         * nis/nss_nisplus/nisplus-parser.c: Cleanups, use NIS_RES_*
108         macros.  Avoid unnecessary allocation.
109
110         * sysdeps/unix/sysv/linux/sync_file_range.c: New file.
111
112 2006-04-13  Ulrich Drepper  <drepper@redhat.com>
113
114         * nis/Makefile (libnsl-routimes): Add nss-default.
115         * nis/Versions (libnsl) [GLIBC_PRIVATE]: Export _nsl_default_nss.
116         * nis/nss-nis.c: Move /etc/default/nss handling to...
117         * nis/nss-default.c: ...here.  New file.
118         * nis/libnsl.h: New file.
119         * nis/nss-nis.h: Remove NSS_FLAG_* definitions and _nis_default_nss
120         plus auxilary definitions.
121         * nis/nss_nis/nis-initgroups.c: Use _nsl_default_nss instead of
122         _nis_default_nss.
123         * nis/nss_nis/nis-service.c: Likewise.
124
125 2006-04-07  Steven Munroe  <sjmunroe@us.ibm.com>
126
127         * sysdeps/powerpc/fpu/bits/mathinline.h
128         [__WORDSIZE == 64 || _ARCH_PWR4]: Define __CPU_HAS_FSQRT.
129         (__ieee754_sqrt): Fix comment.
130         (__ieee754_sqrtf): Fix comment.
131         * sysdeps/powerpc/fpu/e_sqrt.c (__ieee754_sqrt): Fix comment.
132         Check __CPU_HAS_FSQRT instead of dl_hwcap.
133         * sysdeps/powerpc/fpu/e_sqrtf.c (__ieee754_sqrtf): Likewise.
134
135 2006-04-08  Ulrich Drepper  <drepper@redhat.com>
136
137         * inet/inet_ntoa.c: Rewrite to use TLS instead of TSD.
138
139         * nis/nss_nis/nis-alias.c: Optimize use of yperr2nss.  Avoid calling
140         it for YPERR_SUCCESS.  Minor cleanups.  Add __builtin_expect.
141         * nis/nss_nis/nis-ethers.c: Likewise.
142         * nis/nss_nis/nis-grp.c: Likewise.
143         * nis/nss_nis/nis-hosts.c: Likewise.
144         * nis/nss_nis/nis-initgroups.c: Likewise.
145         * nis/nss_nis/nis-netgrp.c: Likewise.
146         * nis/nss_nis/nis-network.c: Likewise.
147         * nis/nss_nis/nis-proto.c: Likewise.
148         * nis/nss_nis/nis-publickey.c: Likewise.
149         * nis/nss_nis/nis-pwd.c: Likewise.
150         * nis/nss_nis/nis-rpc.c: Likewise.
151         * nis/nss_nis/nis-service.c: Likewise.
152         * nis/nss_nis/nis-spwd.c: Likewise.
153
154         * nis/nis_ping.c: Remove unnecessary conditionals before
155         nis_freeresult calls.
156         * nis/nis_ismember.c: Likewise.
157
158         * elf/rtld.c (process_envvars): Fix handling of LD_POINTER_GUARD.
159         Reported by genesh@comcast.net.
160
161         * io/fts.c (fts_build): Call fts_lfree in the two error cases
162         after the loop [Coverity CID 187].
163
164         * nis/nis_getservlist.c (nis_getservlist): Also free lookup result
165         in error case [Coverity CID 189].
166
167         * nis/nis_getservlist.c (nis_getservlist): One more free call
168         needed [Coverity CID 190].
169
170 2006-04-07  Jakub Jelinek  <jakub@redhat.com>
171
172         * sysdeps/generic/unwind-dw2-fde.c (end_fde_sort): Remove
173         unnecessary test for accu->linear == NULL [Coverity CID 79].
174
175 2006-04-07  Ulrich Drepper  <drepper@redhat.com>
176
177         * sysdeps/posix/tempname.c (__gen_tempname): Change attempts_min
178         into a macro.  Use preprocessor to decide how to initialize
179         attempts [Coverity CID 67].
180
181         * io/fts.c (fts_build): Comment out dead code [Coverity CID 68].
182
183         * sunrpc/rpc_parse.c (def_union): Comment out dead code
184         [Coverity CID 70].
185
186         * locale/programs/linereader.c (lr_token): Remove duplicate
187         handling of EOF [Coverity CID 71].
188
189         * locale/programs/ld-numeric.c (numeric_read) [case tok_grouping]:
190         We bail out early if ignore_content is set, so there is no need to
191         check it later again [Coverity CID 72].
192
193         * inet/inet6_option.c (inet6_option_find): Check *tptrp for NULL,
194         not tptrp [Coverity CID 73].
195
196         * inet/inet6_option.c (inet6_option_next): Check *tptrp for NULL,
197         not tptrp [Coverity CID 74].
198
199         * misc/tsearch.c (__tsearch): Don't rotate tree if memory
200         allocation failed [Coverity CID 78].
201
202 2006-04-07  Jakub Jelinek  <jakub@redhat.com>
203
204         * sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix typo in
205         the last change.
206
207 2006-04-07  Ulrich Drepper  <drepper@redhat.com>
208
209         * inet/rexec.c (rexec_af): If we have no canonical name don't
210         proceed further [Coverity CID 86].
211
212         * iconv/iconv_charmap.c (process_fd): Initialize inptr from inbuf,
213         not to NULL [Coverity CID 88].
214
215 2006-04-06  Ulrich Drepper  <drepper@redhat.com>
216
217         * elf/ldconfig.c (main): Use rawmemchr instead of strchr.
218         * nis/nis_call.c (rec_dirsearch): Likewise.
219         * nis/nis_local_names.c (nis_local_host): Likewise.
220         (nis_local_directory): Likewise.
221         * intl/explodename.c (_nl_explode_name): Likewise.
222
223         * sysdeps/generic/unwind-dw2.c (execute_cfa_program): Don't handle
224         DW_CFA_GNU_window_save if it obviously cannot work [Coverity CID 102].
225
226         * locale/programs/ld-address.c (address_finish): Fix conditions
227         for error messages [Coverity CID 104].
228
229         * libio/fmemopen.c (fmemopen): Free stream memory in case of
230         invalid length [Coverity CID 106].
231
232         * nss/nss_files/files-key.c (search): Close stream before
233         successful return [Coverity CID 107].
234
235         * io/fts.c (fts_open): Don't allocate parent if *argv==NULL
236         [Coverity CID 108].
237
238         * sunrpc/rpc_cout.c (inline_struct): Free sizestr after use
239         [Coverity CID 110, 109].
240
241         * sunrpc/rpc_scan.c (docppline): Free file string if it is not
242         going to be used [Coverity CID 111].
243
244         * sysdeps/unix/sysv/linux/getsourcefilter.c (getsourcefilter): Free
245         memory if socket level value cannot be retrieved [Coverity CID 112].
246
247         * nis/nis_clone_dir.c (nis_clone_directory): Free all memory in
248         error case [Coverity CID 114].
249
250         * nis/nis_clone_res.c (nis_clone_result): Free all memory in the
251         error cases [Coverity CID 115].
252
253         * sunrpc/rpc_parse.c (get_definition): Free defp if tok ==
254         TOK_EOF [Coverity CID 116].
255
256         * sysdeps/unix/sysv/linux/setsourcefilter.c (setsourcefilter): Free
257         memory if socket level value cannot be retrieved [Coverity CID 117].
258
259         * elf/cache.c (save_cache): Initialize pad to avoid writing
260         uninitialized data to disk.
261
262         * elf/cache.c (save_cache): Free file_entries_new [Coverity CID 118].
263
264         * intl/finddomain.c (_nl_find_domain): Avoid strdup of expand
265         locale name, use strdupa.  Remove free call [Coverity CID 119].
266
267         * sunrpc/rpc_main.c (generate_guard): Avoid extra allocation and
268         the resulting leak [Coverity CID 121].
269
270         * sunrpc/rpc_main.c (mkfile_output): Free all allocated memory
271         [Coverity CID 122].
272
273         * sunrpc/rpc_main.c (h_output): Free guard after we are done
274         [Coverity CID 123].
275
276         * sunrpc/svc_udp.c (cache_set): Free victim if newbuf allocation
277         fails [Coverity CID 126].
278
279         * sunrpc/svc_udp.c (svcudp_enablecache): Free memory in error
280         cases [Coverity CID 127].
281
282         * nis/nis_table.c (__create_ib_request): Free ibreq in case strdup
283         fails [Coverity CID 128].
284
285         * nis/nis_getservlist.c (nis_getservlist): Free all memory in case
286         of an error [Coverity CID 130, 129].
287
288         * nis/nis_print_group_entry.c (nis_print_group_entry): If
289         nis_lookup call failed, return.  Free lookup result in error
290         cases [Coverity CID 131].
291
292         * nis/nis_removemember.c (nis_removemember): Free all memory in
293         error cases [Coverity CID 132].
294
295         * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r):
296         Always free lookup result [Coverity CID 134].
297
298         * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r):
299         Always free lookup result [Coverity CID 135].
300
301         * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_getntohost_r):
302         Always free lookup result [Coverity CID 136].
303
304         * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
305         Before retrying, free old result [Coverity CID 137].
306
307         * nis/nss_nisplus/nisplus-publickey.c (_nss_nisplus_netname2user):
308         Free res in case UID is zero [Coverity CID 138].
309
310         * nis/ypclnt.c (yp_update): Always free master string
311         [Coverity CID 140].
312
313         * nis/nis_creategroup.c (nis_creategroup): Free all memory in
314         error cases [Coverity CID 143, 142, 141].
315
316         * nis/nss_nis/nis-publickey.c (_nss_nis_getpublickey): Free result
317         if yp_match call succeeded [Coverity CID 155].
318
319         * nis/nss_nis/nis-publickey.c (_nss_nis_getsecretkey): Free string
320         allocated in yp_match at all times [Coverity CID 157, 156].
321
322         * nscd/nscd.c (write_pid): Close stream also if writing failed
323         [Coverity CID 165].
324
325         * nis/nis_table.c (nis_add_entry): Move test for NULL parameter
326         ahead of first use [Coverity CID 167].
327
328         * nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Move test
329         for NULL parameter ahead of first use [Coverity CID 168].
330
331         * intl/finddomain.c (_nl_find_domain): We never return NULL if we
332         found the locale [Coverity CID 169].
333
334         * inet/getnameinfo.c (getnameinfo): __getservbyport_r does not set
335         herrno [Coverity CID 178].
336
337         * nis/nis_checkpoint.c (nis_checkpoint): Don't access and returned
338         freed object [Coverity CID 182].
339
340 2006-04-05  Alan Modra  <amodra@bigpond.net.au>
341             Jakub Jelinek  <jakub@redhat.com>
342
343         * posix/bits/unistd.h (readlink, __readlink_chk, __readlink_alias):
344         Change return value to ssize_t.
345
346 2006-04-04  Roland McGrath  <roland@redhat.com>
347
348         * string/Makefile (CFLAGS-inl-tester.c): New variable.
349         (CFLAGS-tst-inlcall.c): Likewise.
350
351         [BZ #2508]
352         * nscd/Makefile ($(objpfx)nscd_stat.o: sysincludes): Move setting
353         inside [$(have-selinux) = yes].
354         ($(objpfx)selinux.o: sysincludes): Likewise.
355
356         * iconvdata/Makefile (generate-8bit-table): Use LC_ALL=C.
357         (generate-8bit-gap-table): Likewise.
358         ($(objpfx)iso8859-7jp.stmp): Likewise.
359         Reported by S.Ã\87\9flar Onur <caglar@uludag.org.tr>.
360
361 2006-03-21  Joseph S. Myers  <joseph@codesourcery.com>
362
363         * soft-fp/adddf3.c: Add libgcc exception.  Update FSF address.
364         * soft-fp/addsf3.c: Likewise.
365         * soft-fp/addtf3.c: Likewise.
366         * soft-fp/divdf3.c: Likewise.
367         * soft-fp/divsf3.c: Likewise.
368         * soft-fp/divtf3.c: Likewise.
369         * soft-fp/double.h: Likewise.
370         * soft-fp/eqdf2.c: Likewise.
371         * soft-fp/eqsf2.c: Likewise.
372         * soft-fp/eqtf2.c: Likewise.
373         * soft-fp/extenddftf2.c: Likewise.
374         * soft-fp/extended.h: Likewise.
375         * soft-fp/extendsfdf2.c: Likewise.
376         * soft-fp/extendsftf2.c: Likewise.
377         * soft-fp/fixdfdi.c: Likewise.
378         * soft-fp/fixdfsi.c: Likewise.
379         * soft-fp/fixsfdi.c: Likewise.
380         * soft-fp/fixsfsi.c: Likewise.
381         * soft-fp/fixtfdi.c: Likewise.
382         * soft-fp/fixtfsi.c: Likewise.
383         * soft-fp/fixunsdfdi.c: Likewise.
384         * soft-fp/fixunsdfsi.c: Likewise.
385         * soft-fp/fixunssfdi.c: Likewise.
386         * soft-fp/fixunssfsi.c: Likewise.
387         * soft-fp/fixunstfdi.c: Likewise.
388         * soft-fp/fixunstfsi.c: Likewise.
389         * soft-fp/floatdidf.c: Likewise.
390         * soft-fp/floatdisf.c: Likewise.
391         * soft-fp/floatditf.c: Likewise.
392         * soft-fp/floatsidf.c: Likewise.
393         * soft-fp/floatsisf.c: Likewise.
394         * soft-fp/floatsitf.c: Likewise.
395         * soft-fp/floatundidf.c: Likewise.
396         * soft-fp/floatundisf.c: Likewise.
397         * soft-fp/floatunditf.c: Likewise.
398         * soft-fp/floatunsidf.c: Likewise.
399         * soft-fp/floatunsisf.c: Likewise.
400         * soft-fp/floatunsitf.c: Likewise.
401         * soft-fp/gedf2.c: Likewise.
402         * soft-fp/gesf2.c: Likewise.
403         * soft-fp/getf2.c: Likewise.
404         * soft-fp/ledf2.c: Likewise.
405         * soft-fp/lesf2.c: Likewise.
406         * soft-fp/letf2.c: Likewise.
407         * soft-fp/muldf3.c: Likewise.
408         * soft-fp/mulsf3.c: Likewise.
409         * soft-fp/multf3.c: Likewise.
410         * soft-fp/negdf2.c: Likewise.
411         * soft-fp/negsf2.c: Likewise.
412         * soft-fp/negtf2.c: Likewise.
413         * soft-fp/op-1.h: Likewise.
414         * soft-fp/op-2.h: Likewise.
415         * soft-fp/op-4.h: Likewise.
416         * soft-fp/op-8.h: Likewise.
417         * soft-fp/op-common.h: Likewise.
418         * soft-fp/quad.h: Likewise.
419         * soft-fp/single.h: Likewise.
420         * soft-fp/soft-fp.h: Likewise.
421         * soft-fp/sqrtdf2.c: Likewise.
422         * soft-fp/sqrtsf2.c: Likewise.
423         * soft-fp/sqrttf2.c: Likewise.
424         * soft-fp/subdf3.c: Likewise.
425         * soft-fp/subsf3.c: Likewise.
426         * soft-fp/subtf3.c: Likewise.
427         * soft-fp/truncdfsf2.c: Likewise.
428         * soft-fp/trunctfdf2.c: Likewise.
429         * soft-fp/trunctfsf2.c: Likewise.
430         * soft-fp/unorddf2.c: Likewise.
431         * soft-fp/unordsf2.c: Likewise.
432         * soft-fp/unordtf2.c: Likewise.
433
434 2006-04-03  Steven Munroe  <sjmunroe@us.ibm.com>
435
436         [BZ #2505]
437         * sysdeps/powerpc/powerpc32/bits/atomic.h [_ARCH_PWR4]:
438         Define atomic_read_barrier and __ARCH_REL_INSTR using lwsync.
439
440 2006-04-03  Andreas Schwab  <schwab@suse.de>
441
442         * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Terminate FDE
443         before syscall.
444         * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
445
446         * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Test for <asm/elf.h>
447         with [! _ASM_POWERPC_ELF_H] as well as [!__PPC64_ELF_H].
448
449 2006-04-03  Roland McGrath  <roland@frob.com>
450
451         [BZ #2507]
452         * mach/Machrules (.udeps-targets): New variable.
453         ($(objpfx)%.udeps static pattern rule): Use it to avoid \ inside
454         quoted string.
455
456 2006-04-02  Ulrich Drepper  <drepper@redhat.com>
457
458         [BZ #2501]
459         * nscd/nscd_helper.c (get_mapping): Rewrite code to send request
460         so it uses send and not writev.
461
462         [BZ #2418]
463         * sysdeps/unix/sysv/linux/bits/socket.h: Use larger of PATH_MAX and
464         page size when allocating buffer.
465
466 2006-04-01  Ulrich Drepper  <drepper@redhat.com>
467
468         [BZ #2415]
469         * elf/ldd.bash.in: Create better error messages for invalid input
470         files.
471
472         [BZ #2477]
473         * sysdeps/unix/sysv/linux/i386/sysdep.h: Create correct LOADARGS_*
474         macros for non-shared position-independent code.
475
476         [BZ #2472]
477         * bits/siginfo.h: Fix typo in ILL_ILLOPN definition.
478
479         [BZ #2450]
480         * posix/unistd.h: Match return value of readlink to what POSIX
481         says these days.
482         * io/readlink.c: Likewise.
483         * io/readlinkat.c: Likewise.
484         * sysdeps/unix/sysv/linux/readlinkat.c: Likewise.
485
486         [BZ #2498]
487         * nscd/connections.c (main_loop_poll): If the connection cannot be
488         accepted because of user-imposed limits close the descriptor.
489
490 2006-03-31  Ulrich Drepper  <drepper@redhat.com>
491
492         * sysdeps/unix/sysv/linux/Versions: Export sync_file_range with
493         GLIBC_2.5.
494         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Remove
495         LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT.
496         Declare sync_file_range and splice.
497         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
498         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
499         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
500         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
501         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
502         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
503         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
504         * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add
505         sync_file_range.
506         * sysdeps/unix/sysv/linux/i386/sync_file_range.S: New file.
507         * sysdeps/unix/sysv/linux/syscalls.list: Add splice syscall.
508         * sysdeps/unix/sysv/linux/Versions: Export splice with GLIBC_2.5
509         version.
510         * Versions.def: Define GLIBC_2.5 for libc.
511
512 2006-03-29  Ulrich Drepper  <drepper@redhat.com>
513
514         * sysdeps/posix/getaddrinfo.c (gaih_inet): No need to duplicate
515         'name' for 'canon'.  The final allocation will happen later.
516
517 2006-03-27  Ulrich Drepper  <drepper@redhat.com>
518
519         * sysdeps/unix/sysv/linux/kernel-features.h: Remove support for
520         architectures which moved to ports.
521
522         * sysdeps/unix/sysv/linux/kernel-features.h: Add
523         __ASSUME_SET_ROBUST_LIST.
524
525 2006-03-27  Jakub Jelinek  <jakub@redhat.com>
526
527         * wcsmbs/wchar.h (btowc, wctob): Don't optimize in C++.
528
529 2006-03-24  David S. Miller  <davem@sunset.davemloft.net>
530
531         * sysdeps/sparc/sparc32/bits/atomic.h
532         (__v9_compare_and_exchange_val_32_acq): Add "memory" clobber.
533         * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
534         (__arch_compare_and_exchange_val_32_acq, atomic_exchange_acq):
535         Likewise.
536         * sysdeps/sparc/sparc64/bits/atomic.h
537         (__arch_compare_and_exchange_val_32_acq,
538         __arch_compare_and_exchange_val_64_acq, atomic_exchange_acq): Likewise.
539
540 2006-03-24  Jakub Jelinek  <jakub@redhat.com>
541
542         * nis/nss_nisplus/nisplus-proto.c (_nss_create_tablename): Check the
543         return value of malloc rather than the static var again.
544         * nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
545         * nis/nss_nisplus/nisplus-network.c (_nss_create_tablename): Likewise.
546         * nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename): Likewise.
547         * nis/nss_nisplus/nisplus-rpc.c (_nss_create_tablename): Likewise.
548         * nis/nss_nisplus/nisplus-service.c (_nss_create_tablename): Likewise.
549         * nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename): Likewise.
550         * nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Likewise.
551         * nis/nss_nisplus/nisplus-pwd.c (_nss_pwd_create_tablename): Likewise.
552
553 2006-03-25  Ulrich Drepper  <drepper@redhat.com>
554
555         * sysdeps/unix/sysv/linux/sparc/bits/poll.h: Add POLLMSG,
556         POLLREMOVE, and POLLRDHUP.
557         * sysdeps/unix/sysv/linux/bits/poll.h: Add POLLREMOVE and POLLRDHUP.
558
559 2006-03-24  Ulrich Drepper  <drepper@redhat.com>
560
561         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Define
562         LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT.
563         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
564         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
565         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
566         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
567         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
568         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
569         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
570
571 2006-03-17  Roland McGrath  <roland@redhat.com>
572
573         * elf/rtld.c (dl_main): Run final self-relocation after setting up TLS.
574         From Alexandre Oliva <aoliva@redhat.com>.
575
576         * elf/tst-audit2.c: New file.
577         * elf/Makefile (tests): Add it.
578         ($(objpfx)tst-audit2.out): New target.
579         (tst-audit2-ENV): New variable.
580
581         * elf/tst-leaks1.c: Include <stdio.h>.
582
583 2006-03-16  Roland McGrath  <roland@redhat.com>
584
585         * sysdeps/unix/sysv/linux/alpha/getcontext.S (__getcontext_x):
586         Use .set noat to quiet assembler warning.
587
588         * math/gen-libm-test.pl (parse_args): Take function name for pretty
589         output as an argument.
590         (generate_testfile): Pass it the name given in the START macro.
591
592         [BZ #2466]
593         * math/libm-test.inc (llrint_test, llround_test): Fix last change to
594         protect large-precision cases with [LDBL_MANT_DIG > 100].
595         (llrint_test_tonearest, llrint_test_towardzero): Likewise.
596         (llrint_test_downward, llrint_test_upward): Likewise.
597
598 2006-03-15  Steven Munroe  <sjmunroe@us.ibm.com>
599             Alan Modra  <amodra@bigpond.net.au>
600
601         [BZ #2466]
602         * math/libm-test.inc (llrint_test, llround_test) [TEST_LDOUBLE]:
603         Add new test values.
604         (llrint_test_tonearest, llrint_test_towardzero, llrint_test_downward,
605         llrint_test_upward): New functions.
606         (main): Call them.
607
608         * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c (__llrintl): Handle
609         rounding that spans doubles in IBM long double format.
610         * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c (__llroundl): Likewise.
611         * sysdeps/powerpc/powerpc64/fpu/s_llrintl.S: Removed.
612         * sysdeps/powerpc/powerpc64/fpu/s_llroundl.S: Removed.
613         * sysdeps/powerpc/powerpc64/fpu/s_lrintl.S: Removed.
614         * sysdeps/powerpc/powerpc64/fpu/s_lroundl.S: Removed.
615
616 2006-03-16  Roland McGrath  <roland@redhat.com>
617
618         * wcsmbs/wchar.h (__wcstol_internal, __wcstoul_internal): Declare these
619          only when we will use them, under [__OPTIMIZE__ && __GNUC__ >= 2].
620         (__wcstoll_internal, __wcstoull_internal_defined): Likewise.
621
622 2006-03-06  Steven Munroe  <sjmunroe@us.ibm.com>
623
624         * sysdeps/powerpc/powerpc32/fpu/fprsave.S: Add cfi_offset for spilling
625         of non-volatile floating-point registers to the stack (fp14-fp31).
626         * sysdeps/powerpc/powerpc32/gprsave0.S: Add cfi_offset for spilling of
627         non-volatile general-purpose registers to the stack (gpr13-gpr31).
628         * sysdeps/powerpc/powerpc64/dl-trampoline.S: Add cfi_offset
629         for non-volatiles gpr30 - grp31 spilled to the stack.
630         * sysdeps/powerpc/powerpc64/memcpy.S: Add cfi_offset for non-volatile
631         gpr31 spill to the stack.
632         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
633         Add cfi_offset for non-volatile gpr31 spill to the stack.
634         * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Add cfi_offset
635         for non-volatiles gpr28 - grp31 spilled to the stack.
636         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Add
637         cfi_adjust_cfa_offset when a frame is stacked.
638         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S:
639         (__novec_setcontext) : Add cfi_offset for non-volatile gpr31 spill
640         add LR saved to the stack.  Add cfi_adjust_cfa_offset when frame is
641         stacked.
642         (__setcontext) : Add cfi_offset for non-volatile gpr31 spill to
643         the stack.
644         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S:
645         (__novec_swapcontext) : Add cfi_offset for non-volatile gpr31 spill
646         add LR saved to the stack.
647         (__swapcontext) : Add cfi_offset for non-volatile gpr31 spill add LR
648         saved to the stack.  Add cfi_adjust_cfa_offset when frame is stacked.
649
650 2006-03-07  Jakub Jelinek  <jakub@redhat.com>
651
652         [BZ #2423]
653         * math/libm-test.inc [TEST_LDOUBLE] (ceil_test, floor_test, rint_test,
654         round_test, trunc_test): Only run some of the new tests if
655         LDBL_MANT_DIG > 100.
656
657 2006-03-03  Steven Munroe  <sjmunroe@us.ibm.com>
658             Alan Modra  <amodra@bigpond.net.au>
659
660         * sysdeps/powerpc/fpu/fenv_libc.h (__fegetround, __fesetround):
661         Define inline implementations.
662         * sysdeps/powerpc/fpu/fegetround.c: Use __fegetround.
663         * sysdeps/powerpc/fpu/fesetround.c: Use __fesetround.
664
665         * sysdeps/powerpc/fpu/math_ldbl.h: New file.
666
667         [BZ #2423]
668         * math/libm-test.inc [TEST_LDOUBLE] (ceil_test, floor_test, rint_test,
669         round_test, trunc_test): Add new tests.
670         * sysdeps/ieee754/ldbl-128ibm/math_ldbl.h
671         (EXTRACT_IBM_EXTENDED_MANTISSA, INSERT_IBM_EXTENDED_MANTISSA):
672         Removed, replaced with ...
673         (ldbl_extract_mantissa, ldbl_insert_mantissa, ldbl_pack, ldbl_unpack,
674         ldbl_canonicalise, ldbl_nearbyint): New functions.
675         * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl): Replace
676         EXTRACT_IBM_EXTENDED_MANTISSA and INSERT_IBM_EXTENDED_MANTISSA
677         with ldbl_extract_mantissa and ldbl_insert_mantissa.
678         * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l):
679         Replace EXTRACT_IBM_EXTENDED_MANTISSA with ldbl_extract_mantissa.
680         (ldbl_extract_mantissa, ldbl_insert_mantissa): New inline functions.
681         * sysdeps/ieee754/ldbl-128ibm/s_ceill.c (__ceill): Handle rounding
682         that spans doubles in IBM long double format.
683         * sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
684         * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise.
685         * sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise.
686         * sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise.
687         * sysdeps/powerpc/powerpc64/fpu/s_rintl.S: File removed.
688
689 2004-12-09  Randolph Chung  <tausq@debian.org>
690
691         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Don't
692         define for hppa, which doesn't support this syscall.
693
694 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
695
696         [BZ #2451]
697         * elf/dl-load.c (open_verify): Add free_name argument, if true, free
698         name before calling lose.
699         (open_path): Adjust caller.
700         (_dl_map_object): Adjust callers.  Free name_copy before calling
701         _dl_signal_error.
702         * elf/Makefile: Add rules to build and run tst-leaks1.
703         * elf/tst-leaks1.c: New test.
704
705 2006-03-06  Roland McGrath  <roland@redhat.com>
706
707         * version.h (VERSION): 2.4
708         * README.template: Update for 2.4.
709         * README: Regenerated.
710         * manual/install.texi (Configuring and compiling): Separate build
711         directory is mandatory.  Use glibc-2.4 in example.
712         Update --enable-add-ons description.
713         (Supported Configurations): Remove section.
714         * INSTALL: Regenerated.
715
716         * sysdeps/unix/sysv/linux/x86_64/sysconf.c
717         (handle_intel, handle_amd): Add __attribute__ ((noinline)).
718         * sysdeps/unix/sysv/linux/i386/sysconf.c
719         (handle_i486, handle_intel, handle_amd): Likewise.
720
721         * sysdeps/unix/sysv/linux/i386/sysconf.c (__sysconf): Don't handle
722         _SC_CPUTIME and _SC_THREAD_CPUTIME here.
723         * sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Likewise.
724
725 2006-03-05  Roland McGrath  <roland@redhat.com>
726
727         * malloc/malloc.c (MALLOC_ALIGNMENT): Revert to (2 * SIZE_SZ) value.
728         The correct value differs only on powerpc32, and for now changing it
729         there is causing more trouble than it's worth.
730
731         * malloc/arena.c: Add compile-time sanity check on padding calculation.
732
733 2006-03-05  Jakub Jelinek  <jakub@redhat.com>
734
735         * malloc/arena.c (heap_info): Adjust the padding size if
736         MALLOC_ALIGNMENT > 2 * SIZE_SZ.
737
738 2006-03-05  Roland McGrath  <roland@frob.com>
739
740         * sysdeps/mach/hurd/faccessat.c: New file.
741         * sysdeps/mach/hurd/fchmodat.c: New file.
742         * sysdeps/mach/hurd/fchownat.c: New file.
743         * sysdeps/mach/hurd/fxstatat.c: New file.
744         * sysdeps/mach/hurd/fxstatat64.c: New file.
745         * sysdeps/mach/hurd/linkat.c: New file.
746         * sysdeps/mach/hurd/mkdirat.c: New file.
747         * sysdeps/mach/hurd/openat.c: New file.
748         * sysdeps/mach/hurd/openat64.c: New file.
749         * sysdeps/mach/hurd/symlinkat.c: New file.
750         * sysdeps/mach/hurd/unlinkat.c: New file.
751         * sysdeps/mach/hurd/xmknod.c (__xmknod): Just call __xmknodat.
752         Guts move to ...
753         * sysdeps/mach/hurd/xmknodat.c: ... here, new file.
754
755         * hurd/lookup-at.c: New file.
756         * hurd/Makefile (routines): Add it.
757         * hurd/hurd/fd.h: Declare __file_name_lookup_at,
758         __file_name_split_at and __directory_name_split_at.
759
760         * hurd/hurd/lookup.h: Declare {,__}hurd_directory_name_split.
761
762         * hurd/hurdlookup.c (__hurd_directory_name_split): Use __memrchr
763         unconditionally.
764
765         * sysdeps/mach/hurd/open.c: Define {,__,__libc_,}open64 as aliases.
766         * sysdeps/mach/hurd/open64.c: New file.
767
768         * sysdeps/posix/sysconf.c (__sysconf): Use #if _POSIX_FOO > 0
769         rather than #ifdef _POSIX_FOO for options.  We should return -1
770         at runtime for an option defined to 0 at compile time.
771
772         * sysdeps/mach/hurd/bits/posix_opt.h: Define many missing options,
773         many to -1 or 0.
774
775 2006-03-05  Roland McGrath  <roland@redhat.com>
776
777         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf)
778         [__NR_clock_getres || HP_TIMING_AVAIL]: Handle _SC_CPUTIME,
779         _SC_THREAD_CPUTIME.
780
781 2006-03-05  David S. Miller  <davem@sunset.davemloft.net>
782
783         * sysdeps/sparc/sparc32/dl-trampoline.S: Add CFI markings.
784         * sysdeps/sparc/sparc32/elf/start.S: Likewise.
785         * sysdeps/sparc/sparc64/dl-trampoline.S: Likewise.
786         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
787         * sysdeps/sparc/sparc32/memchr.S: Rearrange code to reside
788         within ENTRY/END.
789         * sysdeps/sparc/sparc32/memcpy.S: Likewise.
790         * sysdeps/sparc/sparc32/stpcpy.S: Likewise.
791         * sysdeps/sparc/sparc32/strcat.S: Likewise.
792         * sysdeps/sparc/sparc32/strchr.S: Likewise.
793         * sysdeps/sparc/sparc32/strcmp.S: Likewise.
794         * sysdeps/sparc/sparc32/strcpy.S: Likewise.
795         * sysdeps/sparc/sparc32/strlen.S: Likewise.
796         * sysdeps/sparc/sparc64/memcpy.S: Likewise.
797         * sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise.
798         * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Add CFI markings
799         and use __syscall_error.
800         * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
801         * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise.
802         * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S: Use __syscall_error.
803         * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Likewise.
804         * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Likewise.
805         * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Likewise.
806         * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S: Likewise.
807         * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
808         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Rewrite to use
809         CFI markings and __syscall_error.
810         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
811         * sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S: Rearrange
812         code to reside within ENTRY/END.
813         * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
814         * sysdeps/unix/sysv/linux/sparc/sysdep.c: New file.
815         * sysdeps/unix/sysv/linux/sparc/sysdep.S: File removed.
816         * sysdeps/unix/sysv/linux/sparc/rt-sysdep.c: New file.
817         * sysdeps/unix/sysv/linux/sparc/Makefile (librt-routines): Add it.
818
819         * shlib-versions: Use sparc64.*- for CPU patterns.
820
821 2006-03-05  Roland McGrath  <roland@frob.com>
822
823         * bits/resource.h (RLIMIT_SBSIZE, RLIMIT_AS, RLIMIT_VMEM): Define.
824
825         * sysdeps/mach/hurd/fdopendir.c (__fdopendir): Use O_DIRECTORY
826         to force directory check.
827         * sysdeps/mach/hurd/opendir.c (__opendir): Likewise.
828
829 2006-03-04  Roland McGrath  <roland@frob.com>
830
831         * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Make sure high bits
832         of SEL are clear after copying %gs to low bits.
833         (_hurd_tls_fork): Likewise.
834
835 2006-03-03  Roland McGrath  <roland@redhat.com>
836
837         [BZ #2414]
838         * stdlib/tst-setcontext.c (f1): Take arguments of type int.
839
840 2006-03-02  Roland McGrath  <roland@redhat.com>
841
842         * sysdeps/unix/alpha/sysdep.h (PTR_MANGLE): Use __typeof in cast.
843
844 2006-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
845
846         * sysdeps/unix/sysv/linux/configure.in: Remove MIPS cases.  Allow
847         libc_cv_slibdir et al. to be overridden.
848         * sysdeps/unix/sysv/linux/configure: Regenerated.
849
850 2005-12-27  Jakub Jelinek  <jakub@redhat.com>
851
852         * elf/ldconfig.c (search_dir): Skip prelink temporaries.
853
854 2006-03-02  H.J. Lu  <hongjiu.lu@intel.com>
855
856         * elf/check-textrel.c: Don't include "config.h".
857
858 2006-03-02  Jakub Jelinek  <jakub@redhat.com>
859
860         * io/ftw.c (process_entry): If dir->streamfd != -1,
861         use FXSTATAT rather than LXSTAT to find if unstatable
862         file is a dead symlink.
863
864         * elf/check-textrel.c: Include config.h.
865         (AB(handle_file)): Don't fail if PF_X | PF_W on architectures known
866         to have executable writable PLT.
867         * sysdeps/powerpc/powerpc32/configure.in (HAVE_PPC_SECURE_PLT): New
868         test.
869         * config.h.in (HAVE_PPC_SECURE_PLT): Add.
870
871         * malloc/malloc.c (MALLOC_ALIGNMENT): Set to __alignof__ (long double)
872         if long double is more aligned than 2 * SIZE_SZ.
873         (misaligned_chunk): Define.
874         (public_rEALLOc, _int_free, _int_realloc): Use it.
875
876 2006-01-05  H.J. Lu  <hongjiu.lu@intel.com>
877
878         [BZ #2013]
879         * sysdeps/ia64/memccpy.S: Properly handle recovery for
880         predicated speculative load.
881
882 2006-03-01  Jakub Jelinek  <jakub@redhat.com>
883
884         * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
885
886         * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat64): Use
887         libc_hidden_ver rather than libc_hidden_def.
888
889         * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
890         * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept):
891         Use inline asm to make sure the compiler doesn't optimize insns out.
892
893         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
894         (DECLARGS_6): Fix a typo.
895
896 2006-03-01  Roland McGrath  <roland@redhat.com>
897
898         * version.h (VERSION): 2.3.91
899
900         * Makeconfig (sysdeps-srcdirs): New variable.
901         (sysdeps-add-ons-srcdirs): Use it.
902         * csu/Makefile (all-Banner-files): Use it.
903
904         * Makefile (dist-selector): New variable.
905         (glibc-%.tar rule): Use it.  Make $(dist-separate) tarballs
906         contain one version-named directory.
907
908         * Makefile (format-me): Use  --plaintext --no-number-sections.
909
910         * NOTES, INSTALL: Regenerated.
911
912         * NEWS: Update 2.4 items.
913
914 2006-03-01  David S. Miller  <davem@sunset.davemloft.net>
915
916         * configure.in (machine): Match sparcv9v and sparc64v.
917         * configure: Regenerated.
918         * sysdeps/sparc/sparc32/sparcv9v/memcpy.S: New file.
919         * sysdeps/sparc/sparc32/sparcv9v/memset.S: New file.
920         * sysdeps/sparc/sparc64/sparcv9v/memcpy.S: New file.
921         * sysdeps/sparc/sparc64/sparcv9v/memset.S: New file.
922
923 2006-03-01  Roland McGrath  <roland@frob.com>
924
925         * sysdeps/mach/hurd/Subdirs: Use "first hurd".
926
927 2006-02-28  Roland McGrath  <roland@redhat.com>
928
929         * sysdeps/rs6000: Directory removed, saved in ports repository.
930
931 2006-03-01  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
932
933         * sysdeps/unix/sysv/linux/sh/pread.c: Copy in mips pread.c.
934         * sysdeps/unix/sysv/linux/sh/pwrite.c: Copy in mips pwrite.c.
935         * sysdeps/unix/sysv/linux/sh/pread64.c: Copy in mips pread64.c.
936         * sysdeps/unix/sysv/linux/sh/pwrite64.c: Copy in mips pwrite64.c.
937
938 2006-02-28  Roland McGrath  <roland@redhat.com>
939
940         * elf/tst-tls-dlinfo.c: New file.
941         * elf/Makefile (tests): Add it.
942         ($(objpfx)tst-tls-dlinfo): Depend on $(libdl).
943         ($(objpfx)tst-tls-dlinfo.out): Depend on $(objpfx)tst-tlsmod2.so.
944
945         * dlfcn/dlfcn.h (RTLD_DI_PROFILENAME, RTLD_DI_PROFILEOUT): New enum
946         values, reserve unsupported requested names used on Solaris.
947         (RTLD_DI_TLS_MODID, RTLD_DI_TLS_DATA): New enum values.
948         (RTLD_DI_MAX): Likewise.
949         * dlfcn/dlinfo.c (dlinfo_doit): Handle RTLD_DI_TLS_MODID and
950         RTLD_DI_TLS_DATA.
951
952         * elf/dl-tls.c (_dl_tls_get_addr_soft): New function.
953         * sysdeps/generic/ldsodefs.h: Declare it.
954         * elf/Versions (ld: GLIBC_PRIVATE): Add it.
955         * elf/link.h (struct dl_phdr_info): New members dlpi_tls_modid,
956         dlpi_tls_data.
957         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Fill them in.
958
959         * include/link.h: Don't copy contents from elf/link.h.
960         Instead, #include it while #define'ing around link_map.
961         * elf/dl-debug.c (_dl_debug_initialize): Add a cast.
962         Add bogus extern decl to verify link_map members.
963         * elf/loadtest.c (MAPS): New macro, cast _r_debug._r_map.
964         (OUT, main): Use it in place of _r_debug._r_map.
965         * elf/unload.c: Likewise.
966         * elf/unload2.c: Likewise.
967         * elf/neededtest.c (check_loaded_objects): Likewise.
968         * elf/neededtest2.c (check_loaded_objects): Likewise.
969         * elf/neededtest3.c (check_loaded_objects): Likewise.
970         * elf/neededtest4.c (check_loaded_objects): Likewise.
971         * elf/circleload1.c (check_loaded_objects): Likewise.
972
973         * nscd/nscd_helper.c: Include <time.h> for `time' declaration.
974
975         * include/fcntl.h: Declare __openat, __open64.  Use libc_hidden_proto.
976         * io/openat.c (__openat): Define instead of openat.
977         Use libc_hidden_def.  Define openat with weak_alias.
978         * io/openat64.c (__openat64): Define instead of openat64.
979         Use libc_hidden_def.  Define openat64 with weak_alias.
980         * sysdeps/unix/sysv/linux/openat.c: Likewise.
981
982         * libio/genops.c: Include <sched.h> for __sched_yield decl.
983
984         * Makeconfig (+includes): Add back $(includes)
985         after $(+sysdep-includes).
986
987         * Makerules ($(common-objpfx)%.make): Use -DASSEMBLER.
988
989 2006-02-28  Jakub Jelinek  <jakub@redhat.com>
990
991         * posix/sys/types.h [!__GNUC_PREREQ (2, 7)] (int64_t, u_int64_t):
992         typedef to long int resp. unsigned long int on 64-bit arches.
993
994         * sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: Include x86_64
995         umount.c rather than hppa umount.c.
996         * sysdeps/unix/sysv/linux/sparc/sparc32/chown.c: Include sh chown.c
997         rather than m68k chown.c.
998         * sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: Include sh
999         fchownat.c rather than m68k fchownat.c.
1000         * sysdeps/unix/sysv/linux/sh/chown.c: Copy over from m68k chown.c.
1001         * sysdeps/unix/sysv/linux/sh/fchownat.c: Copy over from m68k
1002         fchownat.c.
1003         * sysdeps/unix/sysv/linux/x86_64/brk.c: Copy over from hppa brk.c.
1004         * sysdeps/unix/sysv/linux/x86_64/umount.c: Copy over from hppa
1005         umount.c.
1006
1007 2006-02-28  Roland McGrath  <roland@redhat.com>
1008
1009         * sysdeps/hppa: Directory removed, saved in ports repository.
1010         * sysdeps/mach/hppa: Likewise.
1011         * sysdeps/mach/hurd/hppa: Likewise.
1012         * sysdeps/unix/sysv/linux/hppa: Likewise.
1013         * configure.in (machine): Remove hppa* cases.
1014         * configure: Regenerated.
1015         * shlib-versions: Remove hppa cases.
1016
1017         * sysdeps/m68k: Directory removed, saved in ports repository.
1018         * sysdeps/unix/bsd/m68k: Likewise.
1019         * sysdeps/unix/sysv/linux/m68k: Likewise.
1020         * configure.in (machine): Remove m68* cases.
1021         * configure: Regenerated.
1022
1023         * elf/rtld-Rules (subdir-args): New variable.
1024         (rtld-subdir-make): Use it.
1025
1026 2006-02-22  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1027
1028         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
1029         (DO_CALL): Add support for 6 system call parameters.
1030         (DECLARGS_6, ASMFMT_6): Define.
1031         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
1032
1033 2006-02-28  Roland McGrath  <roland@redhat.com>
1034
1035         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Copy in i386/bits/fcntl.h.
1036
1037 2006-02-27  Roland McGrath  <roland@redhat.com>
1038
1039         * scripts/config.guess: Update from master, timestamp='2006-02-27'.
1040         * scripts/config.sub: Update from master, timestamp='2006-02-27'.
1041
1042         * Makefile (subdir-target-args): New variable.
1043         ($(all-subdirs-targets)): Use it in place of -C option.
1044         * Rules: Use $(..) instead of ../ if it's already defined.
1045         * Makeconfig (subdir-srcdirs): New variable.
1046         * csu/Makefile (all-Banner-files): Use it.
1047
1048         * configure.in (--enable-add-ons): Set to "yes" by default.
1049         Handle absolute add-on directory names when looking for configure
1050         fragments.  Also look for sysdeps/*/preconfigure fragments in add-ons.
1051         Require add-on configure to set $libc_add_on_canonical, use
1052         that in $add_ons_sfx.  Substitute add_on_subdirs with computed list
1053         of subdir names each add-on configure set in libc_add_on_subdirs.
1054         * configure: Regenerated.
1055         * Makefile (%/preconfigure: %/preconfigure.in): New pattern rule.
1056         * config.make.in (add-on-subdirs): New substituted variable.
1057         * Makeconfig (all-subdirs): Include $(add-on-subdirs).
1058         Remove $(add-ons), $(sysdep-subdirs).
1059         Don't filter out $(sysdep-inhibit-subdirs).
1060         ($(common-objpfx)sysd-dirs): Target removed.  Don't include it.
1061         ($(common-objpfx)sysd-sorted): Rewritten to feed Depend and Subdirs
1062         files together to gen-sorted.awk, and $(subdirs) via -v.
1063         (subdirs): Remove magic reordering for mach and hurd.
1064         * scripts/gen-sorted.awk: Use subdirs from command line.
1065         Process Subdirs and Depend files directly.
1066         Let Subdirs files use "first dir" and "inhibit dir".
1067         Always move elf to the end of the list.
1068         * hurd/Depend: New file.
1069         * sysdeps/mach/Subdirs: Use "first mach".
1070
1071         * Makefile (dist-separate): Remove linuxthreads.
1072         (dist-separate-linuxthreads): Variable removed.
1073         (glibc-%.tar rule): Use $(sysdeps-add-ons).
1074
1075         * Makerules ($(common-objpfx)Versions.v.i): Use $(subdirs),
1076         not $(all-subdirs).
1077         (sysdep-makefiles): Use $(sysdirs).
1078         (sysdirs): Remove export.
1079         ($(+sysdir_pfx)sysd-rules): Handle absolute directory names in
1080         $(config-sysdirs).
1081         (+sysdir_pfx): Variable removed.
1082         (sysd-rules): Use $(common-objpfx) in place of it.
1083         (sysdirs): Variable moved to ...
1084         * Makeconfig (sysdirs): ... here.
1085         Handle absolute directory names in $(config-sysdirs).
1086         (full_config_sysdirs): Variable removed.
1087         * csu/Makefile: Use $(sysdirs) in vpath directive.
1088         * math/Makefile (ulps-file): Use $(sysdirs).
1089         * sysdeps/gnu/Makefile (errlist-c): Likewise.
1090         ($(objpfx)errlist-compat.c): Likewise.
1091         * Makeconfig (all-Subdirs-files): Likewise.
1092         ($(common-objpfx)config.status): Likewise.
1093
1094         * configure.in (sysnames): Handle absolute add-on directory names.
1095         (sysdeps_add_ons): New variable, AC_SUBST it.
1096         Compute which add-ons contributed sysdeps directories.
1097         * configure: Regenerated.
1098         * config.make.in (sysdeps-add-ons): New substituted variable.
1099         * Makerules (+sysdep_dirs, +sysdep-includes): Variables moved ...
1100         * Makeconfig: ... to here.
1101         (+sysdep_dirs): Append $(sysdeps-add-ons) here.
1102         (+includes): Remove $(objpfx) include, already in $(+sysdep_dirs).
1103         Remove $(includes).
1104         (sysdep-makeconfigs): Use $(+sysdep_dirs).
1105         ($(common-objpfx)shlib-versions.v.i): Likewise.
1106
1107         * Makeconfig: Remove hair to set Makeconfig-add-on.
1108
1109         * sysdeps/unix/Makefile (sysdirs): Remove export.
1110         (asm_CPP): Variable removed.
1111         ($(common-objpfx)sysd-syscalls): Pass them directly for the script.
1112
1113         * sysdeps/posix/Makefile: New file.
1114         * Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix
1115         values here with ?=.
1116
1117         * stdlib/gen-mpn-copy: File removed.
1118         * stdlib/Makefile (distribute): Remove it.
1119         * configure.in: Don't grok --with-gmp.
1120         * configure: Regenerated.
1121
1122         * configure.in (libc_cv_idn): Don't check it; libidn/configure does it.
1123         * configure: Regenerated.
1124
1125 2006-02-27  Ulrich Drepper  <drepper@redhat.com>
1126
1127         * sysdeps/unix/sysv/linux/linkat.c (linkat): Allow flags to be set
1128         when syscall is used.
1129         * io/fcntl.h (AT_SYMLINK_FOLLOW): Define.
1130
1131 2006-02-26  Roland McGrath  <roland@redhat.com>
1132
1133         * bare: Directory removed, saved in ports repository.
1134
1135         * sysdeps/unix/common/Makefile: File removed.
1136         * sysdeps/unix/common/glue-ctype.c: File removed.
1137         * sysdeps/unix/common/configure.in: File removed.
1138         * sysdeps/unix/common/configure: File removed.
1139
1140         * sysdeps/unix/configure.in: File removed.
1141         * sysdeps/unix/configure: File removed.
1142         * sysdeps/unix/make_errlist.c: File removed.
1143         * sysdeps/unix/Makefile ($(objpfx)errlist.c, $(objpfx)make_errlist):
1144         Rules removed.
1145
1146         * timezone/africa: Update from tzdata2006b (comment changes only).
1147         * timezone/antarctica: Likewise.
1148         * timezone/asia: Likewise.
1149         * timezone/australasia: Likewise.
1150         * timezone/backward: Likewise.
1151         * timezone/etcetera: Likewise.
1152         * timezone/europe: Likewise.
1153         * timezone/factory: Likewise.
1154         * timezone/iso3166.tab: Likewise.
1155         * timezone/leapseconds: Likewise.
1156         * timezone/northamerica: Likewise.
1157         * timezone/pacificnew: Likewise.
1158         * timezone/solar87: Likewise.
1159         * timezone/solar88: Likewise.
1160         * timezone/solar89: Likewise.
1161         * timezone/southamerica: Likewise.
1162         * timezone/systemv: Likewise.
1163         * timezone/zone.tab: Likewise.
1164
1165 2006-02-26  Ulrich Drepper  <drepper@redhat.com>
1166
1167         * posix/unistd.h: Add fifth parameter to linkat.
1168         * io/linkat.c: Likewise.
1169         * sysdeps/unix/sysv/linux/linkat.c: Likewise.
1170         * io/tst-linkat.c (do_test): Pass new parameter to linkat.
1171
1172         * elf/do-lookup.h (do_lookup_x): No need to compare SKIP to NULL
1173         before comparison with MAP.
1174
1175         * elf/dl-sym.c (do_sym): For RTLD_NEXT, pass MATCH to
1176         dl_lookup_symbol_x instead of L.
1177
1178 2006-02-24  Mike Frysinger  <vapier@gentoo.org>
1179
1180         * sysdeps/gnu/net/if.h (IFF_DYNAMIC): New macro.
1181
1182 2006-02-24  David S. Miller  <davem@sunset.davemloft.net>
1183
1184         * configure.in: Use sparc/sparc32/sparcv9/sparcv9b in place
1185         of sparc/sparc32/sparcv9b.
1186         * sysdeps/sparc/sparc32/sparcv9b/Implies: File removed.
1187         * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/Implies: File removed.
1188
1189 2006-02-24  Roland McGrath  <roland@redhat.com>
1190
1191         * elf/elf.h (HWCAP_SPARC_BLKINIT): New macro.
1192         * sysdeps/sparc/dl-procinfo.h (HWCAP_IMPORTANT): Add it.
1193         (_DL_HWCAP_COUNT): Increase to 7.
1194         * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add "v9v".
1195         From David S. Miller <davem@sunset.davemloft.net>.
1196
1197         * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: Moved to ...
1198         * sysdeps/sparc/dl-procinfo.c: ... here, new file.
1199         * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Moved to ...
1200         * sysdeps/sparc/dl-procinfo.h: ... here, new file.
1201         (HWCAP_IMPORTANT): Include HWCAP_SPARC_V9 when [__WORDSIZE != 64].
1202         * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: File removed.
1203         * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: File removed.
1204
1205         * elf/sofini.c (__FRAME_END__): Mark as const.
1206         * elf/soinit.c (__EH_FRAME_BEGIN__): Likewise.  Add used attribute.
1207
1208 2006-02-18  Joseph S. Myers  <joseph@codesourcery.com>
1209
1210         * soft-fp/single.h (SFtype): Define.
1211         (union _FP_UNION_S): Use it.
1212         * soft-fp/double.h (DFtype): Define.
1213         (union _FP_UNION_D): Use it.
1214         * soft-fp/extended.h (XFtype): Define.
1215         (union _FP_UNION_E): Use it.
1216         * soft-fp/quad.h (TFtype): Define.
1217         (union _FP_UNION_Q): Use it.
1218         * soft-fp/soft-fp.h: Add _LIBC conditionals.
1219         (SI_BITS, DI_BITS): Define.
1220         * soft-fp/op-common.h (_FP_DECL): Add __attribute__((unused)) for
1221         X##_c.
1222         (_FP_CMP_EQ): Use parentheses for && inside ||.
1223         (_FP_TO_INT): Use statement expressions in conditional controlling
1224         constant shift.
1225         (_FP_FROM_INT): Likewise.  Take unsigned type as argument.
1226         * soft-fp/op-2.h (_FP_FRAC_SLL_2, _FP_FRAC_SRL_2, _FP_FRAC_SRST_2,
1227         _FP_FRAC_SRS_2, _FP_FRAC_ASSEMBLE_2): Use statement expressions in
1228         conditional controlling possibly constant shift.
1229         (_FP_FRAC_SRST_2, _FP_FRAC_SRS_2): Avoid left shift by exactly
1230         _FP_W_TYPE_SIZE.
1231         (_FP_FRAC_GT_2, _FP_FRAC_GE_2): Use parentheses for && inside ||.
1232         * soft-fp/op-4.h (_FP_FRAC_SRST_4): Avoid left shift by exactly
1233         _FP_W_TYPE_SIZE.
1234         (__FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3,
1235         __FP_FRAC_SUB_4): Use _FP_W_TYPE for carry flags.
1236         * soft-fp/op-8.h (_FP_FRAC_SRS_8): Avoid left shift by exactly
1237         _FP_W_TYPE_SIZE.
1238         * soft-fp/floatdidf.c: Pass unsigned type and macro for type size.
1239         * soft-fp/floatdisf.c: Likewise.
1240         * soft-fp/floatditf.c: Likewise.
1241         * soft-fp/floatsidf.c: Likewise.
1242         * soft-fp/floatsisf.c: Likewise.
1243         * soft-fp/floatsitf.c: Likewise.
1244         * soft-fp/floatundidf.c: Likewise.
1245         * soft-fp/floatundisf.c: Likewise.
1246         * soft-fp/floatunditf.c: Likewise.
1247         * soft-fp/floatunsidf.c: Likewise.
1248         * soft-fp/floatunsisf.c: Likewise.
1249         * soft-fp/floatunsitf.c: Likewise.
1250         * soft-fp/fixdfdi.c: Pass macro for type size.
1251         * soft-fp/fixdfsi.c: Likewise.
1252         * soft-fp/fixsfdi.c: Likewise.
1253         * soft-fp/fixsfsi.c: Likewise.
1254         * soft-fp/fixtfdi.c: Likewise.
1255         * soft-fp/fixtfsi.c: Likewise.
1256         * soft-fp/fixunsdfdi.c: Likewise.
1257         * soft-fp/fixunsdfsi.c: Likewise.
1258         * soft-fp/fixunssfdi.c: Likewise.
1259         * soft-fp/fixunssfsi.c: Likewise.
1260         * soft-fp/fixunstfdi.c: Likewise.
1261         * soft-fp/fixunstfsi.c: Likewise.
1262         * sysdeps/alpha/soft-fp/ots_cvtqux.c: Pass unsigned type.
1263         * sysdeps/alpha/soft-fp/ots_cvtqx.c: Likewise.
1264         * sysdeps/powerpc/soft-fp/q_itoq.c: Likewise.
1265         * sysdeps/powerpc/soft-fp/q_lltoq.c: Likewise.
1266         * sysdeps/powerpc/soft-fp/q_ulltoq.c: Likewise.
1267         * sysdeps/powerpc/soft-fp/q_utoq.c: Likewise.
1268         * sysdeps/sparc/sparc32/soft-fp/q_itoq.c: Likewise.
1269         * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: Likewise.
1270         * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: Likewise.
1271         * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: Likewise.
1272         * sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Likewise.
1273         * sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Likewise.
1274         * sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Likewise.
1275         * sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Likewise.
1276         * soft-fp/adddf3.c: Use typedefs for argument and return types.
1277         * soft-fp/addsf3.c: Likewise.
1278         * soft-fp/addtf3.c: Likewise.
1279         * soft-fp/divdf3.c: Likewise.
1280         * soft-fp/divsf3.c: Likewise.
1281         * soft-fp/divtf3.c: Likewise.
1282         * soft-fp/eqdf2.c: Likewise.
1283         * soft-fp/eqsf2.c: Likewise.
1284         * soft-fp/eqtf2.c: Likewise.
1285         * soft-fp/extenddftf2.c: Likewise.
1286         * soft-fp/extendsfdf2.c: Likewise.
1287         * soft-fp/extendsftf2.c: Likewise.
1288         * soft-fp/fixdfdi.c: Likewise.
1289         * soft-fp/fixdfsi.c: Likewise.
1290         * soft-fp/fixsfdi.c: Likewise.
1291         * soft-fp/fixsfsi.c: Likewise.
1292         * soft-fp/fixtfdi.c: Likewise.
1293         * soft-fp/fixtfsi.c: Likewise.
1294         * soft-fp/fixunsdfdi.c: Likewise.
1295         * soft-fp/fixunsdfsi.c: Likewise.
1296         * soft-fp/fixunssfdi.c: Likewise.
1297         * soft-fp/fixunssfsi.c: Likewise.
1298         * soft-fp/fixunstfdi.c: Likewise.
1299         * soft-fp/fixunstfsi.c: Likewise.
1300         * soft-fp/floatdidf.c: Likewise.
1301         * soft-fp/floatdisf.c: Likewise.
1302         * soft-fp/floatditf.c: Likewise.
1303         * soft-fp/floatsidf.c: Likewise.
1304         * soft-fp/floatsisf.c: Likewise.
1305         * soft-fp/floatsitf.c: Likewise.
1306         * soft-fp/floatundidf.c: Likewise.
1307         * soft-fp/floatundisf.c: Likewise.
1308         * soft-fp/floatunditf.c: Likewise.
1309         * soft-fp/floatunsidf.c: Likewise.
1310         * soft-fp/floatunsisf.c: Likewise.
1311         * soft-fp/floatunsitf.c: Likewise.
1312         * soft-fp/gedf2.c: Likewise.
1313         * soft-fp/gesf2.c: Likewise.
1314         * soft-fp/getf2.c: Likewise.
1315         * soft-fp/ledf2.c: Likewise.
1316         * soft-fp/lesf2.c: Likewise.
1317         * soft-fp/letf2.c: Likewise.
1318         * soft-fp/muldf3.c: Likewise.
1319         * soft-fp/mulsf3.c: Likewise.
1320         * soft-fp/multf3.c: Likewise.
1321         * soft-fp/negdf2.c: Likewise.
1322         * soft-fp/negsf2.c: Likewise.
1323         * soft-fp/negtf2.c: Likewise.
1324         * soft-fp/sqrtdf2.c: Likewise.
1325         * soft-fp/sqrtsf2.c: Likewise.
1326         * soft-fp/sqrttf2.c: Likewise.
1327         * soft-fp/subdf3.c: Likewise.
1328         * soft-fp/subsf3.c: Likewise.
1329         * soft-fp/subtf3.c: Likewise.
1330         * soft-fp/truncdfsf2.c: Likewise.
1331         * soft-fp/trunctfdf2.c: Likewise.
1332         * soft-fp/trunctfsf2.c: Likewise.
1333         * soft-fp/unorddf2.c: Likewise.
1334         * soft-fp/unordsf2.c: Likewise.
1335         * soft-fp/unordtf2.c: Likewise.
1336
1337 2006-02-09  Joseph S. Myers  <joseph@codesourcery.com>
1338
1339         * soft-fp/op-common.h (_FP_UNPACK_SEMIRAW): Define.
1340         (_FP_OVERFLOW_SEMIRAW): Likewise.
1341         (_FP_CHECK_SIGNAN_SEMIRAW): Likewise.
1342         (_FP_CHOOSENAN_SEMIRAW): Likewise.
1343         (_FP_EXP_NORMAL): Likewise.
1344         (_FP_PACK_SEMIRAW): Likewise.
1345         (_FP_ADD_INTERNAL): Rewrite to operate on semi-raw value.
1346         (_FP_SUB): Likewise.
1347         (_FP_TO_INT): Rewrite to operate on raw values.  Don't set INVALID
1348         exception for conversions where most negative representable
1349         integer is correct truncated value, but do set INEXACT for such
1350         conversions where appropriate.  Don't always left-shift for
1351         converting to a wider integer.
1352         (_FP_FROM_INT): Rewrite to yield raw value.  Correct shift for
1353         integers with one more bits than (mantissa + guard) bits for the
1354         floating point format.  Don't use __FP_FRAC_SRS_1 for shifting
1355         integers that may be wider than _FP_W_TYPE_SIZE.
1356         (FP_CONV): Don't define.
1357         (FP_EXTEND): Define.
1358         (FP_TRUNC): Likewise.
1359         * soft-fp/op-1.h (_FP_FRAC_SRST_1, __FP_FRAC_SRST_1): Define.
1360         (_FP_FRAC_CONV_1_1): Don't define.
1361         (_FP_FRAC_COPY_1_1): Define.
1362         * soft-fp/op-2.h (_FP_FRAC_SRST_2): Define.
1363         (_FP_FRAC_CONV_1_2, _FP_FRAC_CONV_2_1): Don't define.
1364         (_FP_FRAC_COPY_1_2, _FP_FRAC_COPY_2_1): Define.
1365         * soft-fp/op-4.h (_FP_FRAC_SRST_4): Define.
1366         (_FP_FRAC_SRS_4): Define based on _FP_FRAC_SRST_4.
1367         (_FP_FRAC_CONV_1_4, _FP_FRAC_CONV_2_4): Don't define.
1368         (_FP_FRAC_COPY_1_4, _FP_FRAC_COPY_2_4): Define.
1369         (_FP_FRAC_CONV_4_1, _FP_FRAC_CONV_4_2): Don't define.
1370         (_FP_FRAC_COPY_4_1, _FP_FRAC_COPY_4_2): Define.
1371         * soft-fp/single.h (_FP_FRACTBITS_S): Define.
1372         (_FP_FRACXBITS_S): Define in terms of _FP_FRACXBITS_S.
1373         (_FP_WFRACXBITS_S): Likewise.
1374         (_FP_QNANBIT_SH_S, _FP_IMPLBIT_SH_S): Define.
1375         (FP_UNPACK_SEMIRAW_S, FP_UNPACK_SEMIRAW_SP): Define.
1376         (FP_PACK_SEMIRAW_S, FP_PACK_SEMIRAW_SP): Define.
1377         * soft-fp/double.h (_FP_QNANBIT_SH_D, _FP_IMPLBIT_SH_D): Define.
1378         (FP_UNPACK_SEMIRAW_D, FP_UNPACK_SEMIRAW_D): Define
1379         (FP_PACK_SEMIRAW_D, FP_PACK_SEMIRAW_DP): Define.
1380         * soft-fp/extended.h (_FP_QNANBIT_SH_E, _FP_IMPLBIT_SH_E): Define.
1381         (FP_UNPACK_EP): Correct typo.
1382         (FP_UNPACK_SEMIRAW_E, FP_UNPACK_SEMIRAW_EP): Define.
1383         (FP_PACK_SEMIRAW_E, FP_PACK_SEMIRAW_EP): Define.
1384         * soft-fp/quad.h (_FP_QNANBIT_SH_Q, _FP_IMPLBIT_SH_Q): Define.
1385         (FP_UNPACK_SEMIRAW_Q, FP_UNPACK_SEMIRAW_QP): Define.
1386         (FP_PACK_SEMIRAW_Q, FP_PACK_SEMIRAW_QP): Define.
1387         * soft-fp/fixdfdi.c: Use unsigned type for result of conversion.
1388         * soft-fp/fixdfsi.c: Likewise.
1389         * soft-fp/fixsfdi.c: Likewise.
1390         * soft-fp/fixsfsi.c: Likewise.
1391         * soft-fp/fixtfdi.c: Likewise.
1392         * soft-fp/fixtfsi.c: Likewise.
1393         * sysdeps/alpha/soft-fp/ots_cvtxq.c: Likewise.
1394         * sysdeps/alpha/soft-fp/ots_nintxq.c: Likewise.
1395         * sysdeps/powerpc/soft-fp/q_qtoi.c: Likewise.
1396         * sysdeps/powerpc/soft-fp/q_qtoll.c: Likewise.
1397         * sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: Likewise.
1398         * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: Likewise.
1399         * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Likewise.
1400         * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise.
1401         * soft-fp/adddf3.c: Update for changed soft-fp interfaces.
1402         * soft-fp/addsf3.c: Likewise.
1403         * soft-fp/addtf3.c: Likewise.
1404         * soft-fp/extenddftf2.c: Likewise.
1405         * soft-fp/extendsfdf2.c: Likewise.
1406         * soft-fp/extendsftf2.c: Likewise.
1407         * soft-fp/fixdfdi.c: Likewise.
1408         * soft-fp/fixdfsi.c: Likewise.
1409         * soft-fp/fixsfdi.c: Likewise.
1410         * soft-fp/fixsfsi.c: Likewise.
1411         * soft-fp/fixtfdi.c: Likewise.
1412         * soft-fp/fixtfsi.c: Likewise.
1413         * soft-fp/fixunsdfdi.c: Likewise.
1414         * soft-fp/fixunsdfsi.c: Likewise.
1415         * soft-fp/fixunssfdi.c: Likewise.
1416         * soft-fp/fixunssfsi.c: Likewise.
1417         * soft-fp/fixunstfdi.c: Likewise.
1418         * soft-fp/fixunstfsi.c: Likewise.
1419         * soft-fp/floatdidf.c: Likewise.
1420         * soft-fp/floatdisf.c: Likewise.
1421         * soft-fp/floatditf.c: Likewise.
1422         * soft-fp/floatsidf.c: Likewise.
1423         * soft-fp/floatsisf.c: Likewise.
1424         * soft-fp/floatsitf.c: Likewise.
1425         * soft-fp/floatundidf.c: Likewise.
1426         * soft-fp/floatundisf.c: Likewise.
1427         * soft-fp/floatunditf.c: Likewise.
1428         * soft-fp/floatunsidf.c: Likewise.
1429         * soft-fp/floatunsisf.c: Likewise.
1430         * soft-fp/floatunsitf.c: Likewise.
1431         * soft-fp/subdf3.c: Likewise.
1432         * soft-fp/subsf3.c: Likewise.
1433         * soft-fp/subtf3.c: Likewise.
1434         * soft-fp/truncdfsf2.c: Likewise.
1435         * soft-fp/trunctfdf2.c: Likewise.
1436         * soft-fp/trunctfsf2.c: Likewise.
1437         * sysdeps/alpha/soft-fp/ots_add.c: Likewise.
1438         * sysdeps/alpha/soft-fp/ots_cvtqux.c: Likewise.
1439         * sysdeps/alpha/soft-fp/ots_cvtqx.c: Likewise.
1440         * sysdeps/alpha/soft-fp/ots_cvttx.c: Likewise.
1441         * sysdeps/alpha/soft-fp/ots_cvtxq.c: Likewise.
1442         * sysdeps/alpha/soft-fp/ots_cvtxt.c: Likewise.
1443         * sysdeps/alpha/soft-fp/ots_nintxq.c: Likewise.
1444         * sysdeps/alpha/soft-fp/ots_sub.c: Likewise.
1445         * sysdeps/powerpc/soft-fp/q_add.c: Likewise.
1446         * sysdeps/powerpc/soft-fp/q_dtoq.c: Likewise.
1447         * sysdeps/powerpc/soft-fp/q_itoq.c: Likewise.
1448         * sysdeps/powerpc/soft-fp/q_lltoq.c: Likewise.
1449         * sysdeps/powerpc/soft-fp/q_qtod.c: Likewise.
1450         * sysdeps/powerpc/soft-fp/q_qtoi.c: Likewise.
1451         * sysdeps/powerpc/soft-fp/q_qtoll.c: Likewise.
1452         * sysdeps/powerpc/soft-fp/q_qtos.c: Likewise.
1453         * sysdeps/powerpc/soft-fp/q_qtou.c: Likewise.
1454         * sysdeps/powerpc/soft-fp/q_qtoull.c: Likewise.
1455         * sysdeps/powerpc/soft-fp/q_stoq.c: Likewise.
1456         * sysdeps/powerpc/soft-fp/q_sub.c: Likewise.
1457         * sysdeps/powerpc/soft-fp/q_ulltoq.c: Likewise.
1458         * sysdeps/powerpc/soft-fp/q_utoq.c: Likewise.
1459         * sysdeps/sparc/sparc32/soft-fp/q_add.c: Likewise.
1460         * sysdeps/sparc/sparc32/soft-fp/q_dtoq.c: Likewise.
1461         * sysdeps/sparc/sparc32/soft-fp/q_itoq.c: Likewise.
1462         * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: Likewise.
1463         * sysdeps/sparc/sparc32/soft-fp/q_qtod.c: Likewise.
1464         * sysdeps/sparc/sparc32/soft-fp/q_qtoi.c: Likewise.
1465         * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: Likewise.
1466         * sysdeps/sparc/sparc32/soft-fp/q_qtos.c: Likewise.
1467         * sysdeps/sparc/sparc32/soft-fp/q_qtou.c: Likewise.
1468         * sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: Likewise.
1469         * sysdeps/sparc/sparc32/soft-fp/q_stoq.c: Likewise.
1470         * sysdeps/sparc/sparc32/soft-fp/q_sub.c: Likewise.
1471         * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: Likewise.
1472         * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: Likewise.
1473         * sysdeps/sparc/sparc64/soft-fp/qp_add.c: Likewise.
1474         * sysdeps/sparc/sparc64/soft-fp/qp_dtoq.c: Likewise.
1475         * sysdeps/sparc/sparc64/soft-fp/qp_itoq.c: Likewise.
1476         * sysdeps/sparc/sparc64/soft-fp/qp_qtod.c: Likewise.
1477         * sysdeps/sparc/sparc64/soft-fp/qp_qtoi.c: Likewise.
1478         * sysdeps/sparc/sparc64/soft-fp/qp_qtos.c: Likewise.
1479         * sysdeps/sparc/sparc64/soft-fp/qp_qtoui.c: Likewise.
1480         * sysdeps/sparc/sparc64/soft-fp/qp_qtoux.c: Likewise.
1481         * sysdeps/sparc/sparc64/soft-fp/qp_qtox.c: Likewise.
1482         * sysdeps/sparc/sparc64/soft-fp/qp_stoq.c: Likewise.
1483         * sysdeps/sparc/sparc64/soft-fp/qp_sub.c: Likewise.
1484         * sysdeps/sparc/sparc64/soft-fp/qp_uitoq.c: Likewise.
1485         * sysdeps/sparc/sparc64/soft-fp/qp_uxtoq.c: Likewise.
1486         * sysdeps/sparc/sparc64/soft-fp/qp_xtoq.c: Likewise.
1487
1488 2006-02-23  Roland McGrath  <roland@redhat.com>
1489
1490         * include/libc-symbols.h: Fix comment typo.
1491         From Peter Kjellerstedt <peter.kjellerstedt@axis.com>.
1492
1493         * sysdeps/unix/sysv/linux/i386/fchownat.c: Diddle code so that "fail"
1494         label is always used.
1495
1496         [BZ #2172]
1497         * bits/syslog-path.h: New file.
1498         * misc/Makefile (headers): Add it.
1499         * misc/sys/syslog.h: Include it.
1500         (_PATH_LOG): Macro removed.
1501         From Robert Millan <robertmh@gnu.org>.
1502
1503         * sysdeps/unix/sysv/linux/ftruncate64.c: Find generic implementation
1504         in misc/, not posix/.
1505         Reported by David S. Miller <davem@davemloft.net>.
1506
1507 2006-02-23  Jakub Jelinek  <jakub@redhat.com>
1508
1509         * posix/sched_yield.c (__sched_yield): Add libc_hidden_def.
1510         * sysdeps/mach/sched_yield.c (__sched_yield): Likewise.
1511
1512 2006-02-22  Roland McGrath  <roland@redhat.com>
1513
1514         * po/libc.pot: Regenerated.
1515
1516 2006-02-22  Jakub Jelinek  <jakub@redhat.com>
1517
1518         * nis/ypclnt.c (yperr_string, ypbinderr_string): Add N_()
1519         around string literals.
1520
1521 2005-10-03  Jakub Jelinek  <jakub@redhat.com>
1522
1523         * nscd/selinux.c (audit_init): Print error string in the failure
1524         message.
1525
1526 2006-02-21  Roland McGrath  <roland@redhat.com>
1527
1528         * sysdeps/unix/sysv/linux/kernel-features.h
1529         (__ASSUME_CLONE_THREAD_FLAGS): Consolidate definitions.
1530
1531         * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Update comment, remove
1532         __THROW from epoll_wait, to match .../linux/sys/epoll.h file.
1533
1534 2006-02-03  Jakub Jelinek  <jakub@redhat.com>
1535
1536         * manual/filesys.texi (futimes): Fix prototype.
1537
1538 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
1539
1540         [BZ #315]
1541         * manual/memory.texi (Obstacks Data Alignment): The default
1542         alignment is not 4: it is enough to hold any type of data.
1543         Problem reported by Benno in
1544         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
1545
1546 2005-11-15  Robert Millan  <robertmh@gnu.org>
1547
1548         [BZ #2161]
1549         * manual/llio.texi (read, write): Document EINVAL on unaligned access.
1550
1551 2006-02-21  Roland McGrath  <roland@redhat.com>
1552
1553         * sysdeps/i386/i686/memset.S: Fix treatment of unaligned pointer.
1554         Reported by John Zulauf <john.zulauf@amd.com>.
1555
1556 2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
1557
1558         * configure.in (libc_cv_gcc_dwarf2_unwind_info): Delete.
1559         (HAVE_DWARF2_UNWIND_INFO{,_STATIC}): Remove AC_DEFINEs.
1560         * configure: Regenerate.
1561         * config.h.in (HAVE_DWARF2_UNWIND_INFO{,_STATIC}): Remove undefs.
1562         * elf/soinit.c: Don't include gccframe.h.
1563         (__EH_FRAME_BEGIN__): Define unconditionally.
1564         (__register_frame_info, __deregister_frame_info)
1565         (__register_frame_info_bases, __deregister_frame_info_bases)
1566         (__register_frame, __deregister_frame): Remove declarations.
1567         (__libc_global_ctors, __libc_fini): Don't call registry functions.
1568         * elf/sofini.c (__EH_FRAME_END__): Define unconditionally.
1569
1570 2006-01-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1571
1572         [BZ #2178]
1573         * sysdeps/mach/hurd/getsid.c (getsid): When parameter PID is zero,
1574         use _hurd_pid instead.
1575
1576 2006-02-20  Richard Henderson  <rth@redhat.com>
1577
1578         * sysdeps/alpha/soft-fp/Makefile (CPPFLAGS): Add soft-fp include
1579         to math subdir.
1580         * sysdeps/alpha/soft-fp/e_sqrtl.c: Don't use local-soft-fp.h.
1581         (__ieee754_sqrtl): Add _round local variable.
1582         * sysdeps/unix/sysv/linux/alpha/fpu/Implies: Remove.
1583
1584         * sysdeps/unix/sysv/linux/alpha/fxstatat.c: Fix hidden defs.
1585
1586 2006-02-20  Roland McGrath  <roland@redhat.com>
1587
1588         * sysdeps/mips: Directory removed, saved in ports repository.
1589         * sysdeps/unix/mips: Likewise.
1590         * sysdeps/unix/sysv/linux/mips: Likewise.
1591         * sysdeps/mach/mips: Likewise.
1592         * sysdeps/mach/hurd/mips: Likewise.
1593         * shlib-versions: Remove mips matches, now in ports fragment.
1594         * sysdeps/unix/sysv/linux/kernel-features.h: Likewise.
1595         * configure.in (machine): Likewise.
1596         * configure: Regenerated.
1597
1598         * hurd/hurd/xattr.h: New file.
1599         * hurd/xattr.c: New file.
1600         * hurd/Makefile (routines): Add it.
1601         * sysdeps/mach/hurd/fgetxattr.c: New file.
1602         * sysdeps/mach/hurd/flistxattr.c: New file.
1603         * sysdeps/mach/hurd/fremovexattr.c: New file.
1604         * sysdeps/mach/hurd/fsetxattr.c: New file.
1605         * sysdeps/mach/hurd/getxattr.c: New file.
1606         * sysdeps/mach/hurd/lgetxattr.c: New file.
1607         * sysdeps/mach/hurd/listxattr.c: New file.
1608         * sysdeps/mach/hurd/lsetxattr.c: New file.
1609         * sysdeps/mach/hurd/removexattr.c: New file.
1610         * sysdeps/mach/hurd/setxattr.c: New file.
1611
1612 2006-02-15  Thomas Schwinge  <tschwinge@gnu.org>
1613
1614         [BZ #2329]
1615         * include/unistd.h (__getresuid, __getresgid, __setresuid)
1616         (__setresgid): Fix argument name order in prototypes.
1617         * posix/unistd.h (getresuid, getresgid, setresuid, setresgid):
1618         Likewise.
1619         * posix/getresuid.c (__getresuid): Fix argument order in definition.
1620         * posix/getresgid.c (__getresgid): Likewise.
1621         * posix/setresuid.c (__setresuid): Likewise.
1622         * posix/setresgid.c (__setresgid): Likewise.
1623         * sysdeps/mach/hurd/getresuid.c (__getresuid): Likewise.
1624         * sysdeps/mach/hurd/getresgid.c (__getresgid): Likewise.
1625         * sysdeps/mach/hurd/setresuid.c (__setresuid): Likewise.
1626         * sysdeps/mach/hurd/setresgid.c (__setresgid): Likewise.
1627         Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
1628
1629 2006-02-13  Mike Frysinger  <vapier@gentoo.org>
1630
1631         [BZ #2380]
1632         * string/tester.c (test_strnlen): New function.
1633         (test_strchr): Call it.
1634         (test_strncat): Test lengths where the sign bit is set.
1635         (test_strncmp): Likewise.
1636
1637 2006-02-17  Jakub Jelinek  <jakub@redhat.com>
1638
1639         * include/atomic.h (atomic_and, atomic_or): Define.
1640
1641 2006-02-15  Ulrich Drepper  <drepper@redhat.com>
1642
1643         * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Define MADV_DONTFORK
1644         and MADV_DOFORK.
1645         * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise.
1646         * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
1647         * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
1648         * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
1649         * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise.
1650         * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Likewise.
1651         * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise.
1652         * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise.
1653
1654 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
1655
1656         * sysdeps/unix/sysv/linux/not-cancel.h (__openat_not_cancel,
1657         __openat64_not_cancel): Remove prototypes.
1658         (__openat_nocancel, __openat64_nocancel): New prototypes or defines.
1659         (openat_not_cancel, openat_not_cancel_3, openat64_not_cancel,
1660         openat64_not_cancel_3): Use them.
1661
1662 2006-02-12  Ulrich Drepper  <drepper@redhat.com>
1663
1664         * io/ftw.c: Start using *at functions.
1665         * io/ftw64.c: Likewise.
1666
1667         * sysdeps/generic/not-cancel.h: Define openat_not_cancel,
1668         openat_not_cancel_3, openat64_not_cancel, and openat64_not_cancel_3.
1669         * sysdeps/unix/sysv/linux/not-cancel.h: Likewise.
1670
1671         * sysdeps/unix/sysv/linux/openat.c: Create separate _nocancel
1672         functions.
1673
1674         * io/fxstatat.c: Add __fxstatat alias.
1675         * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise.
1676         * sysdeps/unix/sysv/linux/fxstatat.c: Likewise.  Add support for
1677         newfstatat syscall.
1678         * sysdeps/unix/sysv/linux/i386/fxstatat.c: Add __fxstatat alias.
1679         Add support for fstatat64 syscall.
1680         * include/sys/stat.h: Declare __fxstatat.
1681         * io/fxstatat64.c: Add __fxstatat64 alias.
1682         * sysdeps/unix/sysv/linux/fxstatat64.c: Add support for fstatat64
1683         syscall.
1684
1685         * dirent/fdopendir.c: Add __fdopendir alias.
1686         * sysdeps/unix/fdopendir.c: Likewise.
1687         * sysdeps/mach/hurd/fdopendir.c: Likewise.
1688         * include/dirent.h: Add __fdopendir declaration.
1689
1690         [BZ #2226]
1691         * libio/wgenops.c (_IO_wsetb): Use correct size of wide char
1692         buffer in FREE_BUF call.
1693
1694 2006-02-08  Ulrich Drepper  <drepper@redhat.com>
1695
1696         * sysdeps/unix/sysv/linux/bits/sched.h: Declare unshare.
1697         * sysdeps/unix/sysv/linux/Versions [libc, GLIBC_2.4]: Export
1698         unshare.
1699         * sysdeps/unix/sysv/linux/syscalls.list: Add unshare syscall.
1700
1701         * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Add some
1702         preprocessor magic so that the compiler won't see the prototypes
1703         for the functions we are defining as stubs.
1704
1705 2006-02-05  Ulrich Drepper  <drepper@redhat.com>
1706
1707         * io/ftw.c (ftw_startup): Use fchdir to return to original
1708         directory for FTW_CHDIR.
1709
1710 2006-02-03  Ulrich Drepper  <drepper@redhat.com>
1711
1712         * manual/stdio.texi (Formatted Output Functions): Fix make_message
1713         example.  Patch by NIIBE Yutaka <gniibe@m17n.org>.
1714
1715 2006-02-03  Roland McGrath  <roland@redhat.com>
1716
1717         [BZ #2268]
1718         * sysdeps/posix/profil.c (__profil): Use __profile_frequency to choose
1719         timer interval, don't assume smallest possible interval is it.
1720
1721 2006-02-03  Jakub Jelinek  <jakub@redhat.com>
1722
1723         * sysdeps/powerpc/fpu/bits/fenvinline.h (fegetround): Make asm
1724         volatile.
1725
1726         * stdlib/bits/stdlib-ldbl.h (qecvt, qfcvt, qgcvt, qecvt_r, qfcvt_r):
1727         Guard with [__USE_SVID || __USE_XOPEN_EXTENDED].
1728
1729         * math/math.h [__LDBL_COMPAT && __USE_ISOC99] (nexttowardl): New
1730         prototype.
1731
1732         * math/math.h (__nldbl_nexttowardf): Put __THROW before
1733         __attribute__ ((__const__)).
1734         (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT
1735         followed by __THROW.
1736
1737 2006-02-02  Ulrich Drepper  <drepper@redhat.com>
1738
1739         * sysdeps/unix/sysv/linux/futimesat.c [__NR_futimesat]
1740         (futimesat): If file is NULL use __futimes.
1741         * include/sys/time.h: Declare __futimes.
1742
1743 2006-02-02  Roland McGrath  <roland@redhat.com>
1744
1745         * sysdeps/unix/sysv/linux/openat.c (__atfct_seterrno): Use the same
1746         fstat check for ENOENT that should be EBADF as for ENOTDIR, and also
1747         check for missing /proc the same way.
1748
1749         * include/errno.h [__cplusplus]: Avoid extra header magic for C++.
1750
1751         * manual/install.texi (Tools for Compilation): Require gcc 3.4,
1752         recommend 4.1, advise 4.0 for powerpc64, and note 4.1 required for
1753         powerpc, s390{x,} with new long double.
1754         * INSTALL: Regenerated.
1755
1756         * timezone/private.h: Update from tzcode2006a.
1757         * timezone/scheck.c: Likewise.
1758         * timezone/asia: Update from tzdata2006a.
1759         * timezone/northamerica: Likewise.
1760         * timezone/zone.tab: Likewise.
1761
1762         * sysdeps/powerpc/powerpc64/Makefile (no-special-regs): New variable.
1763         (CFLAGS-mcount.c): Use it instead of -msoft-float.
1764         * sysdeps/powerpc/powerpc64/elf/Makefile
1765         (CFLAGS-dl-runtime.os, CFLAGS-dl-lookup.os, CFLAGS-dl-misc.os,
1766         CFLAGS-rtld-mempcpy.os, CFLAGS-rtld-memmove.os, CFLAGS-rtld-memchr.os,
1767         CFLAGS-rtld-strnlen.os): Likewise.
1768
1769 2006-02-01  Roland McGrath  <roland@redhat.com>
1770
1771         * sysdeps/ieee754/ldbl-opt/Makefile (sysdep-CFLAGS): Avoid adding
1772         -mlong-double-128 when it's already there.
1773
1774 2006-02-01  Roland McGrath  <roland@frob.com>
1775
1776         * mach/Machrules ($(objpfx)%.uh, $(objpfx)%.__h): Use static pattern
1777         rules for these, not implicit rules.
1778         ($(objpfx)%.h): Likewise.
1779         Reported by Thomas Schwinge <tschwinge@gnu.org>.
1780
1781 2006-02-01  Jakub Jelinek  <jakub@redhat.com>
1782
1783         * sysdeps/ieee754/ldbl-128ibm/s_finitel.c: Use long_double_symbol
1784         even for libm.
1785
1786         * libio/bits/libio-ldbl.h (_IO_vfwscanf, _IO_vfwprintf): Remove
1787         __LDBL_REDIR_DECL.
1788
1789         * math/bits/mathcalls.h: Guard __END_NAMESPACE_C99 with the
1790         same #if condition as corresponding __BEGIN_NAMESPACE_C99.
1791         (scalb): Don't define only if __USE_ISOC99.
1792
1793         * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Fix a typo.
1794         * sysdeps/s390/fpu/libm-test-ulps: Remove llrint ulps.
1795
1796 2006-01-19  Thomas Schwinge  <tschwinge@gnu.org>
1797
1798         * libio/genops.c: Include <stdbool.h>.
1799
1800 2006-02-01  Ulrich Drepper  <drepper@redhat.com>
1801
1802         * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add
1803         some more entries.
1804         * sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_02_known): Likewise.
1805
1806 2006-01-31  Jakub Jelinek  <jakub@redhat.com>
1807
1808         * sysdeps/unix/sysv/linux/alpha/fpu/Implies: New file.
1809         * sysdeps/alpha/fpu/s_ceil.c: Include math_ldbl_opt.h, add
1810         compat_symbol if LONG_DOUBLE_COMPAT.
1811         * sysdeps/alpha/fpu/s_copysign.c: Likewise.
1812         * sysdeps/alpha/fpu/s_fabs.c: Likewise.
1813         * sysdeps/alpha/fpu/s_floor.c: Likewise.
1814         * sysdeps/alpha/fpu/s_rint.c: Likewise.
1815         * sysdeps/alpha/soft-fp/e_sqrtl.c: New file.
1816         * sysdeps/alpha/Implies: Add ieee754/ldbl-128.
1817
1818         * sysdeps/unix/sysv/linux/alpha/bits/wordsize.h: New file.
1819         * sysdeps/unix/sysv/linux/alpha/Implies: Add ieee754/ldbl-64-128,
1820         ieee754/ldbl-opt.
1821         * sysdeps/alpha/bits/mathdef.h (__NO_LONG_DOUBLE_MATH): Remove.
1822         * sysdeps/unix/sysv/linux/alpha/nldbl-abi.h: New file.
1823         * sysdeps/unix/sysv/linux/alpha/Makefile
1824         [$(subdir) = math] (libm-routines): Add multc3, divtc3.
1825
1826         * math/divtc3.c: New file.
1827         * math/multc3.c: New file.
1828         * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
1829         [$(subdir) = math] (libm-routines): Add multc3, divtc3.
1830
1831         * sysdeps/unix/sysv/linux/sparc/sparc32/fpu/Implies: New file.
1832         * sysdeps/sparc/sparc32/fpu/s_fabsl.c: Include math.h and
1833         math_ldbl_opt.h.
1834         (fabsl): Use long_double_symbol instead of weak_alias.
1835         * sysdeps/sparc/sparc32/fpu/s_fabs.c: Include math.h and
1836         math_ldbl_opt.h.
1837         [LONG_DOUBLE_COMPAT] (fabsl): Add compat_symbol.
1838
1839 2006-01-31  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1840             Jakub Jelinek  <jakub@redhat.com>
1841
1842         * sysdeps/unix/sysv/linux/s390/Implies: New file.
1843         * sysdeps/unix/sysv/linux/s390/fpu/Implies: New file.
1844         * sysdeps/unix/sysv/linux/s390/nldbl-abi.h: New file.
1845         * sysdeps/s390/fpu/bits/mathinline.h (signbitl, sqrtl): New inlines.
1846         * sysdeps/s390/bits/mathdef.h: New file.
1847         * sysdeps/s390/fpu/e_sqrtl.c: New file.
1848         * sysdeps/s390/s390-32/bits/wordsize.h (__LONG_DOUBLE_MATH_OPTIONAL,
1849         __NO_LONG_DOUBLE_MATH): Define.
1850         * sysdeps/s390/s390-64/bits/wordsize.h: Likewise.
1851         * sysdeps/s390/Implies: Add ieee754/ldbl-128.
1852         * sysdeps/s390/ldbl2mpn.c: File removed.
1853         * sysdeps/s390/fpu/libm-test-ulps: Updated.
1854
1855 2006-01-31  Roland McGrath  <roland@redhat.com>
1856
1857         * sysdeps/alpha/fpu/bits/mathdef.h: Moved to ...
1858         * sysdeps/alpha/bits/mathdef.h: ... here.
1859         * sysdeps/i386/fpu/bits/mathdef.h: Moved to ...
1860         * sysdeps/i386/bits/mathdef.h: ... here.
1861         * sysdeps/mips/fpu/bits/mathdef.h: Moved to ...
1862         * sysdeps/mips/bits/mathdef.h: ... here.
1863         * sysdeps/m68k/fpu/bits/mathdef.h: Moved to ...
1864         * sysdeps/m68k/bits/mathdef.h: ... here.
1865         * sysdeps/powerpc/fpu/bits/mathdef.h: Moved to ...
1866         * sysdeps/powerpc/bits/mathdef.h: ... here.
1867         * sysdeps/sparc/fpu/bits/mathdef.h: Moved to ...
1868         * sysdeps/sparc/bits/mathdef.h: ... here.
1869         * sysdeps/ia64/fpu/bits/mathdef.h: Moved to ...
1870         * sysdeps/ia64/bits/mathdef.h: ... here.
1871         * sysdeps/sh/sh4/fpu/bits/mathdef.h: Moved to ...
1872         * sysdeps/sh/sh4/bits/mathdef.h: ... here.
1873         * sysdeps/x86_64/fpu/bits/mathdef.h: Moved to ...
1874         * sysdeps/x86_64/bits/mathdef.h: ... here.
1875
1876 2006-01-31  Jakub Jelinek  <jakub@redhat.com>
1877
1878         * sysdeps/unix/sysv/linux/i386/fxstatat.c [XSTAT_IS_STAT64]
1879         (__fxstatat64): Add libc_hidden_ver.
1880         * sysdeps/unix/sysv/linux/fxstatat.c [XSTAT_IS_STAT64] (__fxstatat64):
1881         Likewise.
1882
1883         * sysdeps/sparc/sparc64/jmpbuf-unwind.h: Remove jmpbuf-offsets.h
1884         include.
1885
1886 2006-01-31  Roland McGrath  <roland@redhat.com>
1887
1888         * sysdeps/powerpc/fpu/libm-test-ulps: Update by Jakub.
1889
1890         * inet/rcmd.c (iruserfopen): Remove redundant initialization.
1891         From Bernhard Fischer <rep.nop@aon.at>.
1892
1893         * posix/regcomp.c (calc_eclosure_iter): Remove dead variables.
1894         Reported by Mike Frysinger <vapier@gentoo.org>.
1895
1896 2006-01-30  Steven Munroe  <sjmunroe@us.ibm.com>
1897
1898         * sysdeps/ieee754/ldbl-128ibm/k_cosl.c (__kernel_cosl): Correct index
1899         for __sincosl_table.
1900         * sysdeps/ieee754/ldbl-128ibm/k_sincosl.c (__kernel_sincosl): Likewise.
1901         * sysdeps/ieee754/ldbl-128ibm/k_sinl.c (__kernel_sinl): Likewise.
1902
1903         * sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Correct sign of 0.0.
1904         * sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
1905
1906         * sysdeps/ieee754/ldbl-128ibm/s_cprojl.c: New file.
1907         * sysdeps/ieee754/ldbl-128ibm/s_ctanhl.c: New file.
1908         * sysdeps/ieee754/ldbl-128ibm/s_ctanl.c: New file.
1909
1910 2006-01-29  Daniel Jacobowitz  <dan@codesourcery.com>
1911
1912         * sysdeps/unix/sysv/linux/mips/bits/errno.h (ECANCELED,
1913         EOWNERDEAD, ENOTRECOVERABLE): Define.
1914
1915         * sysdeps/unix/sysv/linux/mips/bits/mman.h (MADV_REMOVE): Define.
1916
1917         * sysdeps/mips/dl-machine.h (RTLD_START): Correct offsets for
1918         N64.
1919
1920         * sysdeps/unix/sysv/linux/mips/bits/socket.h (struct msghdr): Use
1921         size_t for msg_controllen.
1922         (__cmsg_nxthdr): Correct test.
1923         (__SCM_CONNECT): Delete.
1924
1925 2006-01-30  Alexandre Oliva  <aoliva@redhat.com>
1926             Roland McGrath  <roland@redhat.com>
1927
1928         * configure.in (fno_unit_at_a_time): Set to
1929         -fno-toplevel-reorder if the compiler supports it.
1930         Otherwise use -fno-unit-at-a-time unconditionally.
1931         * configure: Regenerated.
1932
1933 2006-01-30  Jakub Jelinek  <jakub@redhat.com>
1934
1935         * sysdeps/powerpc/fpu/libm-test-ulps: Merge ulps with older
1936         libm-test-ulps rather than overwrite it.  Remove excessively high ulps.
1937
1938 2006-01-29  Joseph S. Myers  <joseph@codesourcery.com>
1939
1940         * soft-fp/double.h (FP_CMP_UNORD_D): Also define in
1941         [_FP_W_TYPE_SIZE >= 64] case.
1942         * soft-fp/extended.h (FP_CMP_UNORD_E): Likewise.
1943         * soft-fp/quad.h (FP_CMP_UNORD_Q): Likewise.
1944
1945 2006-01-27  Dwayne Grant McConnell  <decimal@us.ibm.com>
1946             Jakub Jelinek  <jakub@redhat.com>
1947             Roland McGrath  <roland@redhat.com>
1948             Steven Munroe  <sjmunroe@us.ibm.com>
1949             Alan Modra  <amodra@bigpond.net.au>
1950
1951         * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Comment fix.
1952         * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise.
1953         * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise.
1954
1955         * sysdeps/powerpc/fpu/libm-test-ulps: Update.
1956
1957         * math/libm-test.inc (check_float_internal): Allow ulp <= 0.5.
1958         (erfc_test): Don't run erfcl (27.0L) test if erfcl (27.0L) is
1959         denormal.
1960         [TEST_LDOUBLE] (ceil_test, floor_test, llrint_test, llround_test,
1961         rint_test, round_test, trunc_test): Add new tests.
1962
1963         * sysdeps/powerpc/powerpc32/fpu/s_copysignl.S: New file.
1964         * sysdeps/powerpc/powerpc32/fpu/s_fabs.S: New file.
1965         * sysdeps/powerpc/powerpc32/fpu/s_fabsl.S: New file.
1966         * sysdeps/powerpc/powerpc32/fpu/s_fdim.c: New file.
1967         * sysdeps/powerpc/powerpc32/fpu/s_fmax.S: New file.
1968         * sysdeps/powerpc/powerpc32/fpu/s_fmin.S: New file.
1969         * sysdeps/powerpc/powerpc32/fpu/s_isnan.c: New file.
1970
1971         * sysdeps/powerpc/powerpc64/fpu/s_ceill.S: New file.
1972         * sysdeps/powerpc/powerpc64/fpu/s_copysignl.S: New file.
1973         * sysdeps/powerpc/powerpc64/fpu/s_fabs.S: New file.
1974         * sysdeps/powerpc/powerpc64/fpu/s_fabsl.S: New file.
1975         * sysdeps/powerpc/powerpc64/fpu/s_fdim.c: New file.
1976         * sysdeps/powerpc/powerpc64/fpu/s_floorl.S: New file.
1977         * sysdeps/powerpc/powerpc64/fpu/s_fmax.S: New file.
1978         * sysdeps/powerpc/powerpc64/fpu/s_fmin.S: New file.
1979         * sysdeps/powerpc/powerpc64/fpu/s_isnan.c: New file.
1980         * sysdeps/powerpc/powerpc64/fpu/s_llrintl.S: New file.
1981         * sysdeps/powerpc/powerpc64/fpu/s_llroundl.S: New file.
1982         * sysdeps/powerpc/powerpc64/fpu/s_lrintl.S: New file.
1983         * sysdeps/powerpc/powerpc64/fpu/s_lroundl.S: New file.
1984         * sysdeps/powerpc/powerpc64/fpu/s_nearbyintl.S: New file.
1985         * sysdeps/powerpc/powerpc64/fpu/s_rintl.S: New file.
1986         * sysdeps/powerpc/powerpc64/fpu/s_roundl.S: New file.
1987         * sysdeps/powerpc/powerpc64/fpu/s_truncl.S: New file.
1988
1989         * sysdeps/unix/sysv/linux/powerpc/Implies: New file.
1990         * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/Implies: New file.
1991         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/Implies: New file.
1992         * sysdeps/unix/sysv/linux/powerpc/configure.in: New file.
1993         * sysdeps/unix/sysv/linux/powerpc/configure: New file.
1994         * sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
1995         (__LONG_DOUBLE_MATH_OPTIONAL): Define.
1996         (__NO_LONG_DOUBLE_MATH): Define.
1997         * sysdeps/unix/sysv/linux/powerpc/nldbl-abi.h: New file.
1998         * sysdeps/powerpc/fpu/s_isnan.c: Include math_ldbl_opt.h.
1999         * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Include math_ldbl_opt.h.
2000         [LONG_DOUBLE_COMPAT] (ceill): Add compatibility symbols.
2001         * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include math_ldbl_opt.h.
2002         [LONG_DOUBLE_COMPAT] (copysignl): Add compatibility symbols.
2003         * sysdeps/powerpc/powerpc64/fpu/s_floor.S: Include math_ldbl_opt.h.
2004         [LONG_DOUBLE_COMPAT] (floorl): Add compatibility symbols.
2005         * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include math_ldbl_opt.h.
2006         [LONG_DOUBLE_COMPAT] (llrintl, lrintl): Add compatibility symbols.
2007         * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include math_ldbl_opt.h.
2008         [LONG_DOUBLE_COMPAT] (llroundl, lroundl): Add compatibility symbols.
2009         * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Include math_ldbl_opt.h.
2010         [LONG_DOUBLE_COMPAT] (rintl): Add compatibility symbols.
2011         * sysdeps/powerpc/powerpc64/fpu/s_round.S: Include math_ldbl_opt.h.
2012         [LONG_DOUBLE_COMPAT] (roundl): Add compatibility symbols.
2013         * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Include math_ldbl_opt.h.
2014         [LONG_DOUBLE_COMPAT] (truncl): Add compatibility symbols.
2015         * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Include math_ldbl_opt.h.
2016         [LONG_DOUBLE_COMPAT] (ceill): Add compatibility symbols.
2017         * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include math_ldbl_opt.h.
2018         [LONG_DOUBLE_COMPAT] (copysignl): Add compatibility symbols.
2019         * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Include math_ldbl_opt.h.
2020         [LONG_DOUBLE_COMPAT] (floorl): Add compatibility symbols.
2021         * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include math_ldbl_opt.h.
2022         [LONG_DOUBLE_COMPAT] (lrintl): Add compatibility symbols.
2023         * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include math_ldbl_opt.h.
2024         [LONG_DOUBLE_COMPAT] (llrintl): Add compatibility symbols.
2025         * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include math_ldbl_opt.h.
2026         [LONG_DOUBLE_COMPAT] (lroundl): Add compatibility symbols.
2027         * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Include math_ldbl_opt.h.
2028         [LONG_DOUBLE_COMPAT] (rintl): Add compatibility symbols.
2029         * sysdeps/powerpc/powerpc32/fpu/s_round.S: Include math_ldbl_opt.h.
2030         [LONG_DOUBLE_COMPAT] (roundl): Add compatibility symbols.
2031         * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Include math_ldbl_opt.h.
2032         [LONG_DOUBLE_COMPAT] (truncl): Add compatibility symbols.
2033
2034         * misc/qefgcvt_r.c [LDBL_MIN_10_EXP == -291] (FLOAT_MIN_10_NORM): New.
2035
2036         * sysdeps/powerpc/fpu/bits/mathdef.h (__NO_LONG_DOUBLE_MATH): Remove.
2037         * sysdeps/powerpc/Implies: Add ieee754/ldbl-128ibm.
2038         * sysdeps/powerpc/powerpc32/Implies: Remove powerpc/soft-fp.
2039         * sysdeps/ieee754/ldbl-128ibm/Makefile: New file.
2040         * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c: New file.
2041         * sysdeps/ieee754/ldbl-128ibm/e_acosl.c: New file.
2042         * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: New file.
2043         * sysdeps/ieee754/ldbl-128ibm/e_atan2l.c: New file.
2044         * sysdeps/ieee754/ldbl-128ibm/e_atanhl.c: New file.
2045         * sysdeps/ieee754/ldbl-128ibm/e_coshl.c: New file.
2046         * sysdeps/ieee754/ldbl-128ibm/e_expl.c: New file.
2047         * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c: New file.
2048         * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: New file.
2049         * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c: New file.
2050         * sysdeps/ieee754/ldbl-128ibm/e_j0l.c: New file.
2051         * sysdeps/ieee754/ldbl-128ibm/e_j1l.c: New file.
2052         * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: New file.
2053         * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c: New file.
2054         * sysdeps/ieee754/ldbl-128ibm/e_log10l.c: New file.
2055         * sysdeps/ieee754/ldbl-128ibm/e_log2l.c: New file.
2056         * sysdeps/ieee754/ldbl-128ibm/e_logl.c: New file.
2057         * sysdeps/ieee754/ldbl-128ibm/e_powl.c: New file.
2058         * sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c: New file.
2059         * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c: New file.
2060         * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: New file.
2061         * sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c: New file.
2062         * sysdeps/ieee754/ldbl-128ibm/ieee754.h: New file.
2063         * sysdeps/ieee754/ldbl-128ibm/k_cosl.c: New file.
2064         * sysdeps/ieee754/ldbl-128ibm/k_sincosl.c: New file.
2065         * sysdeps/ieee754/ldbl-128ibm/k_sinl.c: New file.
2066         * sysdeps/ieee754/ldbl-128ibm/k_tanl.c: New file.
2067         * sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c: New file.
2068         * sysdeps/ieee754/ldbl-128ibm/math_ldbl.h: New file.
2069         * sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c: New file.
2070         * sysdeps/ieee754/ldbl-128ibm/printf_fphex.c: New file.
2071         * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c: New file.
2072         * sysdeps/ieee754/ldbl-128ibm/s_atanl.c: New file.
2073         * sysdeps/ieee754/ldbl-128ibm/s_cbrtl.c: New file.
2074         * sysdeps/ieee754/ldbl-128ibm/s_cosl.c: New file.
2075         * sysdeps/ieee754/ldbl-128ibm/s_erfl.c: New file.
2076         * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c: New file.
2077         * sysdeps/ieee754/ldbl-128ibm/s_fabsl.c: New file.
2078         * sysdeps/ieee754/ldbl-128ibm/s_finitel.c: New file.
2079         * sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c: New file.
2080         * sysdeps/ieee754/ldbl-128ibm/s_frexpl.c: New file.
2081         * sysdeps/ieee754/ldbl-128ibm/s_ilogbl.c: New file.
2082         * sysdeps/ieee754/ldbl-128ibm/s_isinfl.c: New file.
2083         * sysdeps/ieee754/ldbl-128ibm/s_isnanl.c: New file.
2084         * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c: New file.
2085         * sysdeps/ieee754/ldbl-128ibm/s_logbl.c: New file.
2086         * sysdeps/ieee754/ldbl-128ibm/s_modfl.c: New file.
2087         * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c: New file.
2088         * sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c: New file.
2089         * sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c: New file.
2090         * sysdeps/ieee754/ldbl-128ibm/s_remquol.c: New file.
2091         * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: New file.
2092         * sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c: New file.
2093         * sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c: New file.
2094         * sysdeps/ieee754/ldbl-128ibm/s_signbitl.c: New file.
2095         * sysdeps/ieee754/ldbl-128ibm/s_sincosl.c: New file.
2096         * sysdeps/ieee754/ldbl-128ibm/s_sinl.c: New file.
2097         * sysdeps/ieee754/ldbl-128ibm/s_tanhl.c: New file.
2098         * sysdeps/ieee754/ldbl-128ibm/s_tanl.c: New file.
2099         * sysdeps/ieee754/ldbl-128ibm/s_truncl.c: New file.
2100         * sysdeps/ieee754/ldbl-128ibm/strtold_l.c: New file.
2101         * sysdeps/ieee754/ldbl-128ibm/t_sincosl.c: New file.
2102         * sysdeps/ieee754/ldbl-128ibm/w_expl.c: New file.
2103         * sysdeps/ieee754/ldbl-128ibm/s_copysignl.c: New file.
2104         * sysdeps/ieee754/ldbl-128ibm/s_floorl.c: New file.
2105         * sysdeps/ieee754/ldbl-128ibm/s_llrintl.c: New file.
2106         * sysdeps/ieee754/ldbl-128ibm/s_llroundl.c: New file.
2107         * sysdeps/ieee754/ldbl-128ibm/s_roundl.c: New file.
2108         * sysdeps/ieee754/ldbl-128ibm/s_ceill.c: New file.
2109         * sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c: New file.
2110         * sysdeps/ieee754/ldbl-128ibm/s_lrintl.c: New file.
2111         * sysdeps/ieee754/ldbl-128ibm/s_lroundl.c: New file.
2112
2113         * sysdeps/ieee754/ldbl-128/e_powl.c: Fix old comment.
2114
2115 2006-01-22  Aurelien Jarno  <aurelien@aurel32.net>
2116
2117         * sysdeps/gnu/errlist-compat.awk: Reduce required number of symbols in
2118         sanity check.
2119
2120 2006-01-21  Ulrich Drepper  <drepper@redhat.com>
2121
2122         * sysdeps/unix/sysv/linux/renameat.c (__atfct_seterrno_2): Correctly
2123         return EBADF for non-existing file descriptors.
2124         * sysdeps/unix/sysv/linux/openat.c (__atfct_seterrno): Likewise.
2125         * io/tst-openat.c (do_test): Add some more tests.
2126         * io/tst-faccessat.c (do_test): Likewise.
2127         * io/tst-renameat.c (do_test): Likewise.
2128         * io/tst-fstatat.c (do_test): Likewise.
2129         * io/tst-fchmodat.c (do_test): Likewise.
2130         * io/tst-fchownat.c (do_test): Likewise.
2131
2132 2006-01-21  Roland McGrath  <roland@redhat.com>
2133
2134         * sysdeps/unix/sysv/linux/faccessat.c: Move RESULT defn inside block.
2135
2136         * misc/tst-pselect.c: Include <unistd.h>.
2137
2138         * time/time.h [__need_timespec et al]: Include <bits/types.h> here too.
2139
2140         * stdlib/fpioconst.c: Fix whitespace typo.
2141
2142 2006-01-20  Jakub Jelinek  <jakub@redhat.com>
2143
2144         * sysdeps/ieee754/ldbl-64-128/s_nexttowardfd.c: Moved to...
2145         * sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c: ... here.  New file.
2146         * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h (long_double_symbol_1): For
2147         C define again using _weak_alias, for assembler use weak_alias.
2148
2149         * sysdeps/powerpc/powerpc64/fpu/e_sqrt.c: New file.
2150         * sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c: New file.
2151         * sysdeps/powerpc/fpu/bits/mathinline.h (__CPU_HAS_FSQRT): New macro.
2152         (__ieee754_sqrt, __ieee754_sqrtf): Use it.
2153
2154 2006-01-21  Ulrich Drepper  <drepper@redhat.com>
2155
2156         * sysdeps/unix/sysv/linux/pselect.c (__pselect): Allow actual
2157         system call code to be redefined in macro CALL_PSELECT6.
2158         * sysdeps/unix/sysv/linux/i386/Makefile [subdir=misc]
2159         (sysdep_routines): Add call_pselect6.
2160         * sysdeps/unix/sysv/linux/i386/call_pselect6.S: New file.
2161         * sysdeps/unix/sysv/linux/i386/pselect.c: New file.
2162         * misc/Makefile (tests): Add tst-pselect.
2163         * misc/tst-pselect.c: New file.
2164
2165 2006-01-20  Roland McGrath  <roland@frob.com>
2166
2167         * sysdeps/mach/hurd/ppoll.c: New file.
2168
2169 2006-01-20  Ulrich Drepper  <drepper@redhat.com>
2170
2171         * sysdeps/unix/sysv/linux/pselect.c: Fix typo in declaration.
2172
2173         * sysdeps/unix/sysv/linux/xmknodat.c (__xmknodat): Cast k_dev
2174         value to unsigned int to match kernel.
2175
2176         * sysdeps/unix/sysv/linux/faccessat.c (faccessat): Try using the
2177         syscall in more cases.
2178
2179         * io/Makefile (tests): Add tst-symlinkat, tst-linkat, tst-readlinkat,
2180         tst-mkdirat, tst-mknodat, and tst-mkfifoat.
2181         * io/tst-symlinkat.c: New file.
2182         * io/tst-linkat.c: New file.
2183         * io/tst-readlinkat.c: New file.
2184         * io/tst-mkdirat.c: New file.
2185         * io/tst-mknodat.c: New file.
2186         * io/tst-mkfifoat.c: New file.
2187
2188         * dirent/Makefile (tests): Add tst-fdopendir2.
2189         * dirent/tst-fdopendir2.c: New file.
2190
2191 2006-01-20  Alexandre Oliva  <aoliva@redhat.com>
2192
2193         * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
2194         (sigcontext_struct) [__WORDSIZE == 32]: Define.
2195
2196 2006-01-20  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2197
2198         * sysdeps/sh/sh4/__longjmp.S: Demangle also r14 and r15.
2199         * sysdeps/sh/sh3/__longjmp.S: Likewise.
2200         * sysdeps/sh/sh4/setjmp.S: Mangle also r14 and r15.
2201         * sysdeps/sh/sh3/setjmp.S: Likewise.
2202         * sysdeps/unix/sysv/linux/sh/sysdep.h [__ASSEMBLER__]
2203         (PTR_MANGLE): Add temporary register as the second parameter.
2204         (PTR_DEMANGLE): Likewize.
2205         (PTR_MANGLE2, PTR_DEMANGLE2): Define.
2206
2207 2006-01-19  Ulrich Drepper  <drepper@redhat.com>
2208
2209         * include/fcntl.h: Declare __have_atfcts.
2210         * sysdeps/unix/sysv/linux/faccessat.c: Use syscall if available.
2211         * sysdeps/unix/sysv/linux/fchmodat.c: Likewise.
2212         * sysdeps/unix/sysv/linux/fchownat.c: Likewise.
2213         * sysdeps/unix/sysv/linux/futimesat.c: Likewise.
2214         * sysdeps/unix/sysv/linux/linkat.c: Likewise.
2215         * sysdeps/unix/sysv/linux/mkdirat.c: Likewise.
2216         * sysdeps/unix/sysv/linux/openat.c: Likewise.
2217         * sysdeps/unix/sysv/linux/readlinkat.c: Likewise.
2218         * sysdeps/unix/sysv/linux/renameat.c: Likewise.
2219         * sysdeps/unix/sysv/linux/symlinkat.c: Likewise.
2220         * sysdeps/unix/sysv/linux/unlinkat.c: Likewise.
2221         * sysdeps/unix/sysv/linux/xmknodat.c: Likewise.
2222         * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise.
2223         * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_PSELECT,
2224         __ASSUME_PPOLL, and __ASSUME_ATFCTS if possible.
2225
2226         * io/ppoll.c: New file.
2227         * io/Makefile (routines): Add ppoll.
2228         (CFLAGS-ppoll.c): Define.
2229         * io/Versions: Export ppoll for GLIBC_2.4.
2230         * io/sys/poll.h: Declare ppoll.
2231         * sysdeps/unix/sysv/linux/ppoll.c: New file.
2232
2233         * misc/pselect.c: Make it possible to include this file to define
2234         the generic code as a static function.
2235         * sysdeps/unix/sysv/linux/pselect.c: New file.
2236
2237 2006-01-19  Jakub Jelinek  <jakub@redhat.com>
2238
2239         * misc/pselect.c (__pselect): Remove static.
2240         Include sysdep-cancel.h again.  Add LIBC_CANCEL_HANDLED ().
2241
2242 2006-01-18  Roland McGrath  <roland@redhat.com>
2243
2244         * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h [__ASSEMBLER__]: Don't
2245         include problematic headers for assembler.
2246
2247         * Makerules ($(+sysdir_pfx)sysd-rules): Don't emit m_%.c rules,
2248         instead emit m_%.o compilation rules from s_%.? source files.
2249         * math/Makefile ($(objpfx)m_%$o: s_%.c): New rule using o-iterator.
2250
2251 2006-01-18  Ulrich Drepper  <drepper@redhat.com>
2252
2253         * misc/pselect.c (__pselect): No need to enable async cancellation
2254         here.  This is done in select.
2255
2256         * sysdeps/unix/sysv/linux/fxstatat.c [STAT_IS_KERNEL_STAT]
2257         (__fxstatat): Correct handling of invalid vers values.
2258
2259         [BZ #2173]
2260         * libio/fileops.c (_IO_new_file_fopen): If ,ccs= is given, also
2261         set vtable to the wide vtable.
2262         * libio/tst-fopenloc2.c: New file.
2263         * libio/Makefile (tests): Add tst-fopenloc2.
2264
2265 2006-01-18  Roland McGrath  <roland@redhat.com>
2266
2267         * sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c: Restore
2268         attribute_hidden here.
2269
2270         * sysdeps/sparc/sparc64/Makefile (long-double-fcts): Move this ...
2271         * sysdeps/sparc/Makefile (long-double-fcts): ... to here.
2272
2273 2006-01-18  Jakub Jelinek  <jakub@redhat.com>
2274
2275         * elf/dl-deps.c (_dl_map_object_deps): In case of failure also make a
2276         copy of objname string.
2277
2278 2006-01-16  Roland McGrath  <roland@redhat.com>
2279
2280         * Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules to install
2281         into $(inst_includedir)/%.h from sysdirs.
2282         [headers]: Change static pattern rule for installing
2283         $(headers) to do only those not matching %.h.
2284         ($(inst_includedir)/%.h: $(objpfx)%.h): Add this pattern rule instead.
2285         ($(inst_includedir)/%.h: %.h): Likewise.
2286         ($(inst_includedir)/%.h: $(..)include/%.h): Likewise.
2287
2288         * Makefile ($(inst_includedir)/gnu/stubs.h):
2289         Add $(make-target-directory).
2290
2291         * stdlib/Makefile (headers): Restore headers removed in last change.
2292
2293 2006-01-16  Jakub Jelinek  <jakub@redhat.com>
2294
2295         * math/e_exp2l.c: Don't include stdio.h, errno.h, stub-tag.h, include
2296         math_private.h.
2297         (__ieee754_exp2l): Compute for now as expl (M_LN2l * x)
2298         instead of failing.
2299         (exp2l): Remove stub_warning.
2300
2301 2006-01-15  Jakub Jelinek  <jakub@redhat.com>
2302
2303         * io/tst-faccessat.c (do_test): Don't fail if geteuid () == 0.
2304
2305 2006-01-16  Ulrich Drepper  <drepper@redhat.com>
2306
2307         * sysdeps/unix/sysv/linux/kernel-features.h: Define
2308         __ASSUME_TMPFS_NAME.
2309         * sysdeps/unix/sysv/linux/shm_open.c [__ASSUME_TMPFS_NAME]
2310         (where_is_shmfs): Don't test for obsolete shm filesystem name.
2311
2312         * sysdeps/unix/sysv/linux/getsysstats.c: Don't search for proc
2313         mount point.  We assume procfs is mounted at /proc in many other
2314         places already.
2315
2316 2006-01-15  Andreas Jaeger  <aj@suse.de>
2317
2318         [BZ #1950]
2319         * posix/regex_internal.c (re_string_reconstruct): Adjust for
2320         build_wcs_upper_buffer change.
2321         (build_wcs_upper_buffer): Change return type.
2322
2323         [BZ #2153]
2324         * math/s_cacosh.c (__cacosh): Do not return a negative
2325         value. Patch by Wes Loewer <wjltemp-temp01@yahoo.com>.
2326         * math/s_cacoshl.c (__cacoshl): Likewise.
2327         * math/s_cacoshf.c (__cacoshf): Likewise.
2328         * math/libm-test.inc (cacosh_test): Adjust for change.
2329
2330         * sysdeps/alpha/fpu/libm-test-ulps: Adopt for cacosh test change.
2331         * sysdeps/hppa/fpu/libm-test-ulps: Likewise.
2332         * sysdeps/i386/fpu/libm-test-ulps: Likewise.
2333         * sysdeps/ia64/fpu/libm-test-ulps: Likewise.
2334         * sysdeps/m68k/fpu/libm-test-ulps: Likewise.
2335         * sysdeps/mips/fpu/libm-test-ulps: Likewise.
2336         * sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
2337         * sysdeps/s390/fpu/libm-test-ulps: Likewise.
2338         * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2339         * sysdeps/sh/sh4/fpu/libm-test-ulps: Likewise.
2340         * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Likewise.
2341         * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
2342
2343         [BZ #2079]
2344         * libio/fputwc_u.c (fputwc_unlocked): Fix return value.
2345         * libio/getwc_u.c (__getwc_unlocked): Likewise.
2346         * libio/wfileops.c (_IO_wdo_write): Likewise.
2347
2348         [BZ #2078]
2349         * libio/fputwc.c (fputwc): Use proper type for result.
2350         * libio/ioungetwc.c (ungetwc): Likewise.
2351
2352 2006-01-14  Ulrich Drepper  <drepper@redhat.com>
2353
2354         * sysdeps/unix/sysv/linux/bits/sched.h: Define SCHED_BATCH.
2355
2356 2006-01-14  Roland McGrath  <roland@redhat.com>
2357
2358         * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_DECL): Don't try
2359         attribute_hidden here.
2360         * sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c (vsyslog): Restore
2361         attribute_hidden here.
2362         * sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c (__asprintf): Likewise.
2363         * sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c (fprintf): Likewise.
2364         * sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c (qecvt): Likewise.
2365         * sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c (qfcvt): Likewise.
2366         * sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c (qgcvt): Likewise.
2367
2368         * sysdeps/ieee754/ldbl-opt/configure.in: Use AC_TRY_COMPILE and
2369         verify __LONG_DOUBLE_128__ predefine.
2370         * sysdeps/ieee754/ldbl-opt/configure: Regenerated.
2371
2372         * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_HIDDEN): Removed.
2373         (NLDBL_DECL): Rewritten.
2374         Remove __THROW from NLDBL_DECL uses.
2375         Use NLDBL_DECL for __vstrfmon_l.
2376         (__nldbl___vsyslog_chk): Restore missing decl.
2377         * sysdeps/ieee754/ldbl-opt/nldbl-asinh.c: Restore attribute_hidden.
2378
2379 2006-01-14  Jakub Jelinek  <jakub@redhat.com>
2380
2381         * misc/sys/cdefs.h (__LDBL_REDIR1_DECL): Define.
2382         (__LDBL_REDIR_DECL): Stringize __nldbl and name.
2383         * stdlib/bits/monetary-ldbl.h: Remove pastos from wchar-ldbl.h.
2384         (strfmon, strfmon_l): Add __LDBL_REDIR_DECL.
2385         * stdlib/bits/stdlib-ldbl.h (strtold, strtold_l, __strtold_internal,
2386         qecvt, qfcvt, qgcvt, qecvt_r, qfcvt_r): Use __LDBL_REDIR1_DECL
2387         instead of __LDBL_REDIR_DECL.
2388         * wcsmbs/bits/wchar-ldbl.h: Remove stale #if.
2389         (__LDBL_REDIR_WCHAR): Remove.
2390         (fwprintf, wprintf, swprintf, vfwprintf, vwprintf, vswprintf,
2391         fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf): Use
2392         __LDBL_REDIR_DECL instead of __LDBL_REDIR_WCHAR.
2393         (wcstold, wcstold_l, __wcstold_internal): Add __LDBL_REDIR1_DECL.
2394         * wcsmbs/wchar.h: Include bits/wchar-ldbl.h after bits/wchar2.h
2395         instead of before it.
2396         (wcstold inline): Move #ifndef __LDBL_COMPAT before
2397         extern keyword.
2398         * libio/bits/stdio-ldbl.h (__snprintf_chk, __vsnprintf_chk): Add
2399         __LDBL_REDIR_DECL.
2400         * misc/bits/syslog-ldbl.h (vsyslog): Protect with #ifdef __USE_BSD.
2401         (__syslog_chk, __vsyslog_chk): Add __LDBL_REDIR_DECL.
2402
2403 2006-01-14  Roland McGrath  <roland@redhat.com>
2404
2405         * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (NLDBL_DECL): Fix typo.
2406         (NLDBL_HIDDEN): New macro.
2407         (NLDBL_DECL): Use it in place of attribute_hidden.
2408
2409         * misc/efgcvt.c: Include <math_ldbl_opt.h> instead of <shlib-compat.h>.
2410         * misc/efgcvt_r.c: Likewise.
2411
2412         * sysdeps/unix/sysv/linux/sparc/sparc32/nldbl-abi.h: New file.
2413         * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: #include <nldbl-abi.h>
2414         to define LONG_DOUBLE_COMPAT_VERSION.  Use that in place of
2415         NLDBL_VERSION.
2416         * sysdeps/ieee754/ldbl-opt/Versions: Include <nldbl-abi.h>.
2417         * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Revert last change.
2418
2419 2006-01-14  Jakub Jelinek  <jakub@redhat.com>
2420
2421         * math/math.h [__NO_LONG_DOUBLE_MATH] (__nldbl_nexttowardf): New
2422         prototype.
2423         (nexttowardf): Redirect to __nldbl_nexttowardf.
2424         (nexttoward): Redirect to nextafter.
2425         (__MATHDECL_2, __MATHDECL_1): Redirect *l functions to
2426         non-*l versions if __LONG_DOUBLE_MATH_OPTIONAL and
2427         __NO_LONG_DOUBLE_MATH.
2428         * math/complex.h (__MATHDECL_1): Likewise.
2429         * math/bits/mathcalls.h (nexttoward): Don't prototype if
2430         __LDBL_COMPAT.
2431         * misc/sys/cdefs.h: Include <bits/wordsize.h>.
2432         (__LDBL_COMPAT, __LDBL_REDIR1, __LDBL_REDIR, __LDBL_REDIR1_NTH,
2433         __LDBL_REDIR_NTH, __LDBL_REDIR_DECL): New macros.
2434
2435         * libio/bits/stdio-ldbl.h: New file.
2436         * libio/Makefile (headers): Add it.
2437         * libio/stdio.h [__LDBL_COMPAT]: #include it.
2438         * libio/bits/libio-ldbl.h: New file.
2439         * libio/Makefile (headers): Add it.
2440         * libio/libio.h [__LDBL_COMPAT]: #include it.
2441         * libio/libioP.h: Include <math_ldbl_opt.h>.
2442         * include/wchar.h (__fwprintf, __vfwprintf): Fix commented out
2443         attribute.
2444         (__vfwprintf_chk): New prototype.  Add libc_hidden_proto.
2445         * wcsmbs/bits/wchar-ldbl.h: New file.
2446         * wcsmbs/Makefile (headers): Add it.
2447         * wcsmbs/wchar.h [__LDBL_COMPAT]: #include it.
2448         * wcsmbs/bits/wchar2.h (__vswprintf_alias): Removed.
2449         (vswprintf): Define as a macro rather than inline function.
2450         * stdio-common/bits/printf-ldbl.h: New file.
2451         * stdio-common/Makefile (headers): Add it.
2452         * stdio-common/printf.h [__LDBL_COMPAT]: #include it.
2453         * libio/fwprintf.c: Include libioP.h.
2454         (fwprintf): Use ldbl_weak_alias instead of weak_alias.
2455         * libio/fwscanf.c: Include libioP.h.
2456         (fwscanf): Rename to __fwscanf and add ldbl_strong_alias.
2457         * libio/iovdprintf.c (vdprintf): Use ldbl_weak_alias instead of
2458         weak_alias.
2459         * libio/iovsprintf.c (_IO_vsprintf): Rename to __IO_vsprintf,
2460         add ldbl_strong_alias and use INTDEF2 instead of INTDEF.
2461         (vsprintf): Use ldbl_weak_alias instead of weak_alias.
2462         * libio/iovsscanf.c (__vsscanf, vsscanf): Use ldbl_weak_alias
2463         instead of weak_alias.
2464         * libio/iovswscanf.c (vswscanf): Rename to __vswscanf,
2465         add ldbl_strong_alias and use ldbl_hidden_def instead of
2466         libc_hidden_def.
2467         * libio/obprintf.c (obstack_printf, obstack_vprintf): Use
2468         ldbl_weak_alias instead of weak_alias.
2469         * libio/swprintf.c: Include libioP.h.
2470         (swprintf): Rename to __swprintf and add ldbl_strong_alias.
2471         * libio/swscanf.c: Include libioP.h.
2472         (swscanf): Rename to __swscanf and add ldbl_strong_alias.
2473         * libio/vasprintf.c (vasprintf): Use ldbl_weak_alias instead of
2474         weak_alias.
2475         * libio/vscanf.c (vscanf): Use ldbl_weak_alias instead of
2476         weak_alias.
2477         * libio/vsnprintf.c (__vsnprintf, vsnprintf): Use ldbl_weak_alias
2478         instead of weak_alias.
2479         * libio/vswprintf.c (__vswprintf): Remove alias.
2480         (vswprintf): Use ldbl_weak_alias instead of weak_alias.
2481         * libio/vwprintf.c: Include libioP.h.
2482         (vwprintf): Rename to __vwprintf and add ldbl_strong_alias.
2483         * libio/vwscanf.c (vwscanf): Rename to __vwscanf and add
2484         ldbl_strong_alias.
2485         * libio/wprintf.c: Include libioP.h.
2486         (wprintf): Rename to __wprintf and add ldbl_strong_alias.
2487         * libio/wscanf.c: Include libioP.h.
2488         (wscanf): Rename to __wscanf and add ldbl_strong_alias.
2489         * stdio-common/asprintf.c (__asprintf): Rename to ___asprintf, add
2490         ldbl_strong_alias and use INTDEF2 instead of INTDEF.
2491         (asprintf): Use ldbl_weak_alias instead of weak_alias.
2492         * stdio-common/dprintf.c (dprintf): Rename to __dprintf, add
2493         ldbl_strong_alias and use ldbl_hidden_def instead of
2494         libc_hidden_def.
2495         * stdio-common/fprintf.c: Include libioP.h.
2496         (fprintf): Rename to __fprintf, add ldbl_strong_alias and
2497         use ldbl_hidden_def instead of libc_hidden_def.
2498         (_IO_fprintf): Use ldbl_weak_alias instead of weak_alias.
2499         * stdio-common/fscanf.c: Include libioP.h.
2500         (fscanf): Rename to __fscanf and add ldbl_strong_alias.
2501         * stdio-common/printf.c: Include libioP.h.
2502         (printf): Rename to __printf and add ldbl_strong_alias.
2503         (_IO_printf): Use ldbl_strong_alias instead of strong_alias.
2504         * stdio-common/printf_fp.c (__printf_fp): Rename to __printf_fp, add
2505         ldbl_strong_alias and use ldbl_hidden_def instead of
2506         libc_hidden_def.
2507         * stdio-common/printf_size.c (printf_size): Rename to __printf_size
2508         and add ldbl_strong_alias.
2509         * stdio-common/scanf.c (scanf): Rename to __scanf and add
2510         ldbl_strong_alias.
2511         * stdio-common/snprintf.c (snprintf): Use ldbl_weak_alias instead of
2512         weak_alias.
2513         * stdio-common/sprintf.c (sprintf): Rename to __sprintf, add
2514         ldbl_strong_alias and use ldbl_hidden_def instead of
2515         libc_hidden_def.
2516         (_IO_sprintf): Use ldbl_strong_alias instead of strong_alias.
2517         * stdio-common/sscanf.c: Include libioP.h instead of iolibio.h.
2518         (sscanf): Rename to __sscanf and add ldbl_strong_alias.
2519         * stdio-common/vfprintf.c (vfprintf): Define to
2520         _IO_vfprintf_internal.  Use ldbl_strong_alias instead.  Use
2521         ldbl_hidden_def instead of libc_hidden_def.
2522         (_IO_vfprintf_internal): Clear is_long_double if __ldbl_is_dbl,
2523         handle the argument as double if it is non-zero.
2524         (vfwprintf): Use ldbl_weak_alias instead of weak_alias.
2525         (_IO_vfprintf): Add ldbl_strong_alias.
2526         * stdio-common/vfscanf.c (_IO_vfscanf): Rename to
2527         _IO_vfscanf_internal, don't use strtold if __ldbl_is_dbl, add
2528         ldbl_strong_alias.
2529         (vfwscanf): Use ldbl_weak_alias instead of weak_alias.
2530         (__vfscanf): Rename to ___vfscanf, add ldbl_strong_alias and
2531         use ldbl_hidden_def instead of libc_hidden_def.
2532         (vfscanf): Use ldbl_weak_alias instead of weak_alias.
2533         * stdio-common/vprintf.c: Include libioP.h.
2534         (vprintf): Rename to __vprintf and add ldbl_strong_alias.
2535         * debug/fprintf_chk.c (__fprintf_chk): Rename to ___fprintf_chk
2536         and add ldbl_strong_alias.
2537         * debug/printf_chk.c (__printf_chk): Rename to ___printf_chk
2538         and add ldbl_strong_alias.
2539         * debug/snprintf_chk.c: Include libioP.h.
2540         (__snprintf_chk): Rename to ___snprintf_chk and add ldbl_strong_alias.
2541         * debug/sprintf_chk.c: Include libioP.h.
2542         (__sprintf_chk): Rename to ___sprintf_chk and add ldbl_strong_alias.
2543         * debug/vfprintf_chk.c (__vfprintf_chk): Rename to ___vfprintf_chk,
2544         add ldbl_strong_alias and use ldbl_hidden_def instead of
2545         libc_hidden_def.
2546         * debug/vfwprintf_chk.c (__vfwprintf_chk): Add libc_hidden_def.
2547         * debug/vprintf_chk.c (__vprintf_chk): Rename to ___vprintf_chk
2548         and add ldbl_strong_alias.
2549         * debug/vsnprintf_chk.c (__vsnprintf_chk): Rename to ___vsnprintf_chk,
2550         add ldbl_strong_alias and use ldbl_hidden_def instead of
2551         libc_hidden_def.
2552         * debug/vsprintf_chk.c (__vsprintf_chk): Rename to ___vsprintf_chk,
2553         add ldbl_strong_alias and use ldbl_hidden_def instead of
2554         libc_hidden_def.
2555
2556         * stdlib/stdlib.h (strtold): Don't define inline if [!__LDBL_COMPAT].
2557         * wcsmbs/wchar.h (wcstold): Likewise.
2558         * stdlib/strtod_l.c: Include math_ldbl_opt.h.
2559         (____STRTOF_INTERNAL): Define.
2560         (INTERNAL (__STRTOF)): Rename to ____STRTOF_INTERNAL.
2561         (__STRTOF): Call ____STRTOF_INTERNAL instead.
2562         [LONG_DOUBLE_COMPAT] (strtold_l, wcstold_l, __strtold_l, __wcstold_l):
2563         Add compatibility symbols.
2564         * stdlib/strtod.c: Include math_ldbl_opt.h.
2565         [LONG_DOUBLE_COMPAT] (strtold, wcstold, __strtold_internal,
2566         __wcstold_internal): Add compatibility symbols.
2567         * stdlib/strtold.c: Include bits/wordsize.h, wchar.h.
2568         (NEW, NEW1): Define.
2569         (__new_strtold, __new_wcstold): New prototypes.
2570         (____new_strtold_internal, ____new_wcstold_internal): Likewise.
2571         Add libc_hidden_proto.
2572         (STRTOF): Define to NEW (*told).
2573         [__LONG_DOUBLE_MATH_OPTIONAL] (wcstold, strtold): Add
2574         long_double_symbol.
2575         [__LONG_DOUBLE_MATH_OPTIONAL] (__wcstold_internal,
2576         __strtold_internal): Likewise. Add libc_hidden_ver.
2577
2578         * stdlib/bits/stdlib-ldbl.h: New file.
2579         * stdlib/Makefile (headers): Add it.
2580         * stdlib/stdlib.h [__LDBL_COMPAT]: #include it.
2581         * include/stdlib.h (ecvt_r, fcvt_r, qecvt_r, qfcvt_r): Remove
2582         libc_hidden_proto.
2583         (__ecvt, __fcvt, __gcvt, __ecvt_r, __fcvt_r, __qecvt, __qfcvt,
2584         __qgcvt, __qecvt_r, __qfcvt_r): New prototypes.
2585         * misc/efgcvt_r.c: Include shlib-compat.h.
2586         (LONG_DOUBLE_CVT): Define.
2587         (__APPEND, __APPEND2): Define.
2588         (*fcvt_r): Use __APPEND instead of APPEND.  Remove libc_hidden_def.
2589         (*ecvt_r): Likewise.
2590         (cvt_symbol): Define.  Use it on fcvt_r and ecvt_r.
2591         * misc/efgcvt.c: Include shlib-compat.h.
2592         (LONG_DOUBLE_CVT): Define.
2593         (__APPEND, __APPEND2): Define.
2594         (fcvt): Use __APPEND instead of APPEND.  Remove libc_hidden_def.
2595         (ecvt, gcvt): Likewise.
2596         (cvt_symbol): Define.  Use it on fcvt, ecvt and gcvt.
2597
2598         * stdlib/bits/monetary-ldbl.h: New file.
2599         * stdlib/Makefile (headers): Add it.
2600         * stdlib/monetary.h [__LDBL_COMPAT]: #include it.
2601         * stdlib/strfmon.c: Include math_ldbl_opt.h.
2602         (strfmon): Rename to __strfmon and add ldbl_strong_alias.
2603         * stdlib/strfmon_l.c: Remove all traces of [!USE_IN_LIBIO].
2604         (__vstrfmon_l): Don't set is_long_double if __ldbl_is_dbl.
2605         (__strfmon_l): Rename to ___strfmon_l and add ldbl_strong_alias.
2606         (strfmon_l): Use ldbl_weak_alias instead of weak_alias.
2607
2608         * misc/bits/syslog-ldbl.h: New file.
2609         * misc/Makefile (headers): Add it.
2610         * misc/sys/syslog.h [__LDBL_COMPAT]: #include it.
2611         * misc/syslog.c: Include math_ldbl_opt.h.
2612         (syslog): Rename to __syslog and add ldbl_strong_alias,
2613         use ldbl_hidden_def instead of libc_hidden_def.
2614         (vsyslog): Rename to __vsyslog and add ldbl_strong_alias,
2615         use ldbl_hidden_def instead of libc_hidden_def.
2616
2617         * sysdeps/generic/math_ldbl_opt.h: New file.
2618         * math/w_j1l.c (j1l, y1l): Rename to __ prefixed variants.
2619         Add weak_alias.
2620         * math/w_j0l.c (j0l, y0l): Likewise.
2621         * math/w_jnl.c (jnl, ynl): Likewise.
2622         * sysdeps/ieee754/ldbl-96/s_nexttoward.c
2623         (__nexttowardl): Remove strong_alias.
2624         (nexttowardl): Remove weak_alias.
2625         * sysdeps/ieee754/ldbl-96/s_erfl.c
2626         (__erfl, __erfcl): Remove strong_alias.
2627         (erfl, erfcl): Remove weak_alias.
2628
2629         * sysdeps/ieee754/ldbl-64-128/s_asinhl.c: New file.
2630         * sysdeps/ieee754/ldbl-64-128/s_atanl.c: New file.
2631         * sysdeps/ieee754/ldbl-64-128/s_cbrtl.c: New file.
2632         * sysdeps/ieee754/ldbl-64-128/s_ceill.c: New file.
2633         * sysdeps/ieee754/ldbl-64-128/s_copysignl.c: New file.
2634         * sysdeps/ieee754/ldbl-64-128/s_cosl.c: New file.
2635         * sysdeps/ieee754/ldbl-64-128/s_erfl.c: New file.
2636         * sysdeps/ieee754/ldbl-64-128/s_expm1l.c: New file.
2637         * sysdeps/ieee754/ldbl-64-128/s_fabsl.c: New file.
2638         * sysdeps/ieee754/ldbl-64-128/s_finitel.c: New file.
2639         * sysdeps/ieee754/ldbl-64-128/s_floorl.c: New file.
2640         * sysdeps/ieee754/ldbl-64-128/s_fpclassifyl.c: New file.
2641         * sysdeps/ieee754/ldbl-64-128/s_frexpl.c: New file.
2642         * sysdeps/ieee754/ldbl-64-128/s_ilogbl.c: New file.
2643         * sysdeps/ieee754/ldbl-64-128/s_isinfl.c: New file.
2644         * sysdeps/ieee754/ldbl-64-128/s_isnanl.c: New file.
2645         * sysdeps/ieee754/ldbl-64-128/s_llrintl.c: New file.
2646         * sysdeps/ieee754/ldbl-64-128/s_llroundl.c: New file.
2647         * sysdeps/ieee754/ldbl-64-128/s_log1pl.c: New file.
2648         * sysdeps/ieee754/ldbl-64-128/s_logbl.c: New file.
2649         * sysdeps/ieee754/ldbl-64-128/s_lrintl.c: New file.
2650         * sysdeps/ieee754/ldbl-64-128/s_lroundl.c: New file.
2651         * sysdeps/ieee754/ldbl-64-128/s_modfl.c: New file.
2652         * sysdeps/ieee754/ldbl-64-128/s_nearbyintl.c: New file.
2653         * sysdeps/ieee754/ldbl-64-128/s_nextafterl.c: New file.
2654         * sysdeps/ieee754/ldbl-64-128/s_nexttoward.c: New file.
2655         * sysdeps/ieee754/ldbl-64-128/s_nexttowardf.c: New file.
2656         * sysdeps/ieee754/ldbl-64-128/s_nexttowardfd.c: New file.
2657         * sysdeps/ieee754/ldbl-64-128/s_remquol.c: New file.
2658         * sysdeps/ieee754/ldbl-64-128/s_rintl.c: New file.
2659         * sysdeps/ieee754/ldbl-64-128/s_roundl.c: New file.
2660         * sysdeps/ieee754/ldbl-64-128/s_scalblnl.c: New file.
2661         * sysdeps/ieee754/ldbl-64-128/s_scalbnl.c: New file.
2662         * sysdeps/ieee754/ldbl-64-128/s_signbitl.c: New file.
2663         * sysdeps/ieee754/ldbl-64-128/s_sincosl.c: New file.
2664         * sysdeps/ieee754/ldbl-64-128/s_sinl.c: New file.
2665         * sysdeps/ieee754/ldbl-64-128/s_tanhl.c: New file.
2666         * sysdeps/ieee754/ldbl-64-128/s_tanl.c: New file.
2667         * sysdeps/ieee754/ldbl-64-128/s_truncl.c: New file.
2668         * sysdeps/ieee754/ldbl-64-128/strtold_l.c: New file.
2669         * sysdeps/ieee754/ldbl-64-128/w_expl.c: New file.
2670         * sysdeps/ieee754/ldbl-opt/configure.in: New file.
2671         * sysdeps/ieee754/ldbl-opt/configure: New file.
2672         * sysdeps/ieee754/ldbl-opt/Makefile: New file.
2673         * sysdeps/ieee754/ldbl-opt/Versions: New file.
2674         * sysdeps/ieee754/ldbl-opt/cabs.c: New file.
2675         * sysdeps/ieee754/ldbl-opt/cabsl.c: New file.
2676         * sysdeps/ieee754/ldbl-opt/carg.c: New file.
2677         * sysdeps/ieee754/ldbl-opt/cargl.c: New file.
2678         * sysdeps/ieee754/ldbl-opt/cimag.c: New file.
2679         * sysdeps/ieee754/ldbl-opt/cimagl.c: New file.
2680         * sysdeps/ieee754/ldbl-opt/conj.c: New file.
2681         * sysdeps/ieee754/ldbl-opt/conjl.c: New file.
2682         * sysdeps/ieee754/ldbl-opt/creal.c: New file.
2683         * sysdeps/ieee754/ldbl-opt/creall.c: New file.
2684         * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c: New file.
2685         * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: New file.
2686         * sysdeps/ieee754/ldbl-opt/nldbl-acos.c: New file.
2687         * sysdeps/ieee754/ldbl-opt/nldbl-acosh.c: New file.
2688         * sysdeps/ieee754/ldbl-opt/nldbl-asin.c: New file.
2689         * sysdeps/ieee754/ldbl-opt/nldbl-asinh.c: New file.
2690         * sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c: New file.
2691         * sysdeps/ieee754/ldbl-opt/nldbl-atan.c: New file.
2692         * sysdeps/ieee754/ldbl-opt/nldbl-atan2.c: New file.
2693         * sysdeps/ieee754/ldbl-opt/nldbl-atanh.c: New file.
2694         * sysdeps/ieee754/ldbl-opt/nldbl-cabs.c: New file.
2695         * sysdeps/ieee754/ldbl-opt/nldbl-cacos.c: New file.
2696         * sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c: New file.
2697         * sysdeps/ieee754/ldbl-opt/nldbl-carg.c: New file.
2698         * sysdeps/ieee754/ldbl-opt/nldbl-casin.c: New file.
2699         * sysdeps/ieee754/ldbl-opt/nldbl-casinh.c: New file.
2700         * sysdeps/ieee754/ldbl-opt/nldbl-catan.c: New file.
2701         * sysdeps/ieee754/ldbl-opt/nldbl-catanh.c: New file.
2702         * sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c: New file.
2703         * sysdeps/ieee754/ldbl-opt/nldbl-ccos.c: New file.
2704         * sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c: New file.
2705         * sysdeps/ieee754/ldbl-opt/nldbl-ceil.c: New file.
2706         * sysdeps/ieee754/ldbl-opt/nldbl-cexp.c: New file.
2707         * sysdeps/ieee754/ldbl-opt/nldbl-cimag.c: New file.
2708         * sysdeps/ieee754/ldbl-opt/nldbl-clog.c: New file.
2709         * sysdeps/ieee754/ldbl-opt/nldbl-clog10.c: New file.
2710         * sysdeps/ieee754/ldbl-opt/nldbl-compat.c: New file.
2711         * sysdeps/ieee754/ldbl-opt/nldbl-compat.h: New file.
2712         * sysdeps/ieee754/ldbl-opt/nldbl-conj.c: New file.
2713         * sysdeps/ieee754/ldbl-opt/nldbl-copysign.c: New file.
2714         * sysdeps/ieee754/ldbl-opt/nldbl-cos.c: New file.
2715         * sysdeps/ieee754/ldbl-opt/nldbl-cosh.c: New file.
2716         * sysdeps/ieee754/ldbl-opt/nldbl-cpow.c: New file.
2717         * sysdeps/ieee754/ldbl-opt/nldbl-cproj.c: New file.
2718         * sysdeps/ieee754/ldbl-opt/nldbl-creal.c: New file.
2719         * sysdeps/ieee754/ldbl-opt/nldbl-csin.c: New file.
2720         * sysdeps/ieee754/ldbl-opt/nldbl-csinh.c: New file.
2721         * sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c: New file.
2722         * sysdeps/ieee754/ldbl-opt/nldbl-ctan.c: New file.
2723         * sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c: New file.
2724         * sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c: New file.
2725         * sysdeps/ieee754/ldbl-opt/nldbl-drem.c: New file.
2726         * sysdeps/ieee754/ldbl-opt/nldbl-erf.c: New file.
2727         * sysdeps/ieee754/ldbl-opt/nldbl-erfc.c: New file.
2728         * sysdeps/ieee754/ldbl-opt/nldbl-exp.c: New file.
2729         * sysdeps/ieee754/ldbl-opt/nldbl-exp10.c: New file.
2730         * sysdeps/ieee754/ldbl-opt/nldbl-exp2.c: New file.
2731         * sysdeps/ieee754/ldbl-opt/nldbl-expm1.c: New file.
2732         * sysdeps/ieee754/ldbl-opt/nldbl-fabs.c: New file.
2733         * sysdeps/ieee754/ldbl-opt/nldbl-fdim.c: New file.
2734         * sysdeps/ieee754/ldbl-opt/nldbl-finite.c: New file.
2735         * sysdeps/ieee754/ldbl-opt/nldbl-floor.c: New file.
2736         * sysdeps/ieee754/ldbl-opt/nldbl-fma.c: New file.
2737         * sysdeps/ieee754/ldbl-opt/nldbl-fmax.c: New file.
2738         * sysdeps/ieee754/ldbl-opt/nldbl-fmin.c: New file.
2739         * sysdeps/ieee754/ldbl-opt/nldbl-fmod.c: New file.
2740         * sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c: New file.
2741         * sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c: New file.
2742         * sysdeps/ieee754/ldbl-opt/nldbl-frexp.c: New file.
2743         * sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c: New file.
2744         * sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c: New file.
2745         * sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c: New file.
2746         * sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c: New file.
2747         * sysdeps/ieee754/ldbl-opt/nldbl-gamma.c: New file.
2748         * sysdeps/ieee754/ldbl-opt/nldbl-hypot.c: New file.
2749         * sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c: New file.
2750         * sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c: New file.
2751         * sysdeps/ieee754/ldbl-opt/nldbl-isinf.c: New file.
2752         * sysdeps/ieee754/ldbl-opt/nldbl-isnan.c: New file.
2753         * sysdeps/ieee754/ldbl-opt/nldbl-j0.c: New file.
2754         * sysdeps/ieee754/ldbl-opt/nldbl-j1.c: New file.
2755         * sysdeps/ieee754/ldbl-opt/nldbl-jn.c: New file.
2756         * sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c: New file.
2757         * sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c: New file.
2758         * sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c: New file.
2759         * sysdeps/ieee754/ldbl-opt/nldbl-llrint.c: New file.
2760         * sysdeps/ieee754/ldbl-opt/nldbl-llround.c: New file.
2761         * sysdeps/ieee754/ldbl-opt/nldbl-log.c: New file.
2762         * sysdeps/ieee754/ldbl-opt/nldbl-log10.c: New file.
2763         * sysdeps/ieee754/ldbl-opt/nldbl-log1p.c: New file.
2764         * sysdeps/ieee754/ldbl-opt/nldbl-log2.c: New file.
2765         * sysdeps/ieee754/ldbl-opt/nldbl-logb.c: New file.
2766         * sysdeps/ieee754/ldbl-opt/nldbl-lrint.c: New file.
2767         * sysdeps/ieee754/ldbl-opt/nldbl-lround.c: New file.
2768         * sysdeps/ieee754/ldbl-opt/nldbl-modf.c: New file.
2769         * sysdeps/ieee754/ldbl-opt/nldbl-nan.c: New file.
2770         * sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c: New file.
2771         * sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c: New file.
2772         * sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c: New file.
2773         * sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c: New file.
2774         * sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c: New file.
2775         * sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c: New file.
2776         * sysdeps/ieee754/ldbl-opt/nldbl-pow.c: New file.
2777         * sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: New file.
2778         * sysdeps/ieee754/ldbl-opt/nldbl-printf.c: New file.
2779         * sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c: New file.
2780         * sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c: New file.
2781         * sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c: New file.
2782         * sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c: New file.
2783         * sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c: New file.
2784         * sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c: New file.
2785         * sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c: New file.
2786         * sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c: New file.
2787         * sysdeps/ieee754/ldbl-opt/nldbl-remainder.c: New file.
2788         * sysdeps/ieee754/ldbl-opt/nldbl-remquo.c: New file.
2789         * sysdeps/ieee754/ldbl-opt/nldbl-rint.c: New file.
2790         * sysdeps/ieee754/ldbl-opt/nldbl-round.c: New file.
2791         * sysdeps/ieee754/ldbl-opt/nldbl-scalb.c: New file.
2792         * sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c: New file.
2793         * sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c: New file.
2794         * sysdeps/ieee754/ldbl-opt/nldbl-scanf.c: New file.
2795         * sysdeps/ieee754/ldbl-opt/nldbl-signbit.c: New file.
2796         * sysdeps/ieee754/ldbl-opt/nldbl-significand.c: New file.
2797         * sysdeps/ieee754/ldbl-opt/nldbl-sin.c: New file.
2798         * sysdeps/ieee754/ldbl-opt/nldbl-sincos.c: New file.
2799         * sysdeps/ieee754/ldbl-opt/nldbl-sinh.c: New file.
2800         * sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c: New file.
2801         * sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c: New file.
2802         * sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c: New file.
2803         * sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c: New file.
2804         * sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c: New file.
2805         * sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c: New file.
2806         * sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c: New file.
2807         * sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c: New file.
2808         * sysdeps/ieee754/ldbl-opt/nldbl-strtold.c: New file.
2809         * sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c: New file.
2810         * sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c: New file.
2811         * sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c: New file.
2812         * sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c: New file.
2813         * sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c: New file.
2814         * sysdeps/ieee754/ldbl-opt/nldbl-syslog.c: New file.
2815         * sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c: New file.
2816         * sysdeps/ieee754/ldbl-opt/nldbl-tan.c: New file.
2817         * sysdeps/ieee754/ldbl-opt/nldbl-tanh.c: New file.
2818         * sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c: New file.
2819         * sysdeps/ieee754/ldbl-opt/nldbl-trunc.c: New file.
2820         * sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c: New file.
2821         * sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c: New file.
2822         * sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c: New file.
2823         * sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c: New file.
2824         * sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c: New file.
2825         * sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c: New file.
2826         * sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c: New file.
2827         * sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c: New file.
2828         * sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c: New file.
2829         * sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c: New file.
2830         * sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c: New file.
2831         * sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c: New file.
2832         * sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c: New file.
2833         * sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c: New file.
2834         * sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c: New file.
2835         * sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c: New file.
2836         * sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c: New file.
2837         * sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c: New file.
2838         * sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c: New file.
2839         * sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c: New file.
2840         * sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c: New file.
2841         * sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c: New file.
2842         * sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c: New file.
2843         * sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c: New file.
2844         * sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c: New file.
2845         * sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c: New file.
2846         * sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c: New file.
2847         * sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c: New file.
2848         * sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c: New file.
2849         * sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c: New file.
2850         * sysdeps/ieee754/ldbl-opt/nldbl-y0.c: New file.
2851         * sysdeps/ieee754/ldbl-opt/nldbl-y1.c: New file.
2852         * sysdeps/ieee754/ldbl-opt/nldbl-yn.c: New file.
2853         * sysdeps/ieee754/ldbl-opt/s_asinh.c: New file.
2854         * sysdeps/ieee754/ldbl-opt/s_atan.c: New file.
2855         * sysdeps/ieee754/ldbl-opt/s_cacos.c: New file.
2856         * sysdeps/ieee754/ldbl-opt/s_cacosh.c: New file.
2857         * sysdeps/ieee754/ldbl-opt/s_cacoshl.c: New file.
2858         * sysdeps/ieee754/ldbl-opt/s_cacosl.c: New file.
2859         * sysdeps/ieee754/ldbl-opt/s_casin.c: New file.
2860         * sysdeps/ieee754/ldbl-opt/s_casinh.c: New file.
2861         * sysdeps/ieee754/ldbl-opt/s_casinhl.c: New file.
2862         * sysdeps/ieee754/ldbl-opt/s_casinl.c: New file.
2863         * sysdeps/ieee754/ldbl-opt/s_catan.c: New file.
2864         * sysdeps/ieee754/ldbl-opt/s_catanh.c: New file.
2865         * sysdeps/ieee754/ldbl-opt/s_catanhl.c: New file.
2866         * sysdeps/ieee754/ldbl-opt/s_catanl.c: New file.
2867         * sysdeps/ieee754/ldbl-opt/s_cbrt.c: New file.
2868         * sysdeps/ieee754/ldbl-opt/s_ccos.c: New file.
2869         * sysdeps/ieee754/ldbl-opt/s_ccosh.c: New file.
2870         * sysdeps/ieee754/ldbl-opt/s_ccoshl.c: New file.
2871         * sysdeps/ieee754/ldbl-opt/s_ccosl.c: New file.
2872         * sysdeps/ieee754/ldbl-opt/s_ceil.c: New file.
2873         * sysdeps/ieee754/ldbl-opt/s_cexp.c: New file.
2874         * sysdeps/ieee754/ldbl-opt/s_cexpl.c: New file.
2875         * sysdeps/ieee754/ldbl-opt/s_clog.c: New file.
2876         * sysdeps/ieee754/ldbl-opt/s_clog10.c: New file.
2877         * sysdeps/ieee754/ldbl-opt/s_clog10l.c: New file.
2878         * sysdeps/ieee754/ldbl-opt/s_clogl.c: New file.
2879         * sysdeps/ieee754/ldbl-opt/s_copysign.c: New file.
2880         * sysdeps/ieee754/ldbl-opt/s_cpow.c: New file.
2881         * sysdeps/ieee754/ldbl-opt/s_cpowl.c: New file.
2882         * sysdeps/ieee754/ldbl-opt/s_cproj.c: New file.
2883         * sysdeps/ieee754/ldbl-opt/s_cprojl.c: New file.
2884         * sysdeps/ieee754/ldbl-opt/s_csin.c: New file.
2885         * sysdeps/ieee754/ldbl-opt/s_csinh.c: New file.
2886         * sysdeps/ieee754/ldbl-opt/s_csinhl.c: New file.
2887         * sysdeps/ieee754/ldbl-opt/s_csinl.c: New file.
2888         * sysdeps/ieee754/ldbl-opt/s_csqrt.c: New file.
2889         * sysdeps/ieee754/ldbl-opt/s_csqrtl.c: New file.
2890         * sysdeps/ieee754/ldbl-opt/s_ctan.c: New file.
2891         * sysdeps/ieee754/ldbl-opt/s_ctanh.c: New file.
2892         * sysdeps/ieee754/ldbl-opt/s_ctanhl.c: New file.
2893         * sysdeps/ieee754/ldbl-opt/s_ctanl.c: New file.
2894         * sysdeps/ieee754/ldbl-opt/s_erf.c: New file.
2895         * sysdeps/ieee754/ldbl-opt/s_expm1.c: New file.
2896         * sysdeps/ieee754/ldbl-opt/s_fabs.c: New file.
2897         * sysdeps/ieee754/ldbl-opt/s_fdim.c: New file.
2898         * sysdeps/ieee754/ldbl-opt/s_fdiml.c: New file.
2899         * sysdeps/ieee754/ldbl-opt/s_finite.c: New file.
2900         * sysdeps/ieee754/ldbl-opt/s_floor.c: New file.
2901         * sysdeps/ieee754/ldbl-opt/s_fma.c: New file.
2902         * sysdeps/ieee754/ldbl-opt/s_fmal.c: New file.
2903         * sysdeps/ieee754/ldbl-opt/s_fmax.c: New file.
2904         * sysdeps/ieee754/ldbl-opt/s_fmaxl.c: New file.
2905         * sysdeps/ieee754/ldbl-opt/s_fmin.c: New file.
2906         * sysdeps/ieee754/ldbl-opt/s_fminl.c: New file.
2907         * sysdeps/ieee754/ldbl-opt/s_frexp.c: New file.
2908         * sysdeps/ieee754/ldbl-opt/s_ilogb.c: New file.
2909         * sysdeps/ieee754/ldbl-opt/s_isinf.c: New file.
2910         * sysdeps/ieee754/ldbl-opt/s_isnan.c: New file.
2911         * sysdeps/ieee754/ldbl-opt/s_ldexp.c: New file.
2912         * sysdeps/ieee754/ldbl-opt/s_ldexpl.c: New file.
2913         * sysdeps/ieee754/ldbl-opt/s_llrint.c: New file.
2914         * sysdeps/ieee754/ldbl-opt/s_llround.c: New file.
2915         * sysdeps/ieee754/ldbl-opt/s_log1p.c: New file.
2916         * sysdeps/ieee754/ldbl-opt/s_logb.c: New file.
2917         * sysdeps/ieee754/ldbl-opt/s_lrint.c: New file.
2918         * sysdeps/ieee754/ldbl-opt/s_lround.c: New file.
2919         * sysdeps/ieee754/ldbl-opt/s_modf.c: New file.
2920         * sysdeps/ieee754/ldbl-opt/s_nan.c: New file.
2921         * sysdeps/ieee754/ldbl-opt/s_nanl.c: New file.
2922         * sysdeps/ieee754/ldbl-opt/s_nearbyint.c: New file.
2923         * sysdeps/ieee754/ldbl-opt/s_nextafter.c: New file.
2924         * sysdeps/ieee754/ldbl-opt/s_remquo.c: New file.
2925         * sysdeps/ieee754/ldbl-opt/s_rint.c: New file.
2926         * sysdeps/ieee754/ldbl-opt/s_round.c: New file.
2927         * sysdeps/ieee754/ldbl-opt/s_scalbln.c: New file.
2928         * sysdeps/ieee754/ldbl-opt/s_scalbn.c: New file.
2929         * sysdeps/ieee754/ldbl-opt/s_significand.c: New file.
2930         * sysdeps/ieee754/ldbl-opt/s_significandl.c: New file.
2931         * sysdeps/ieee754/ldbl-opt/s_sin.c: New file.
2932         * sysdeps/ieee754/ldbl-opt/s_sincos.c: New file.
2933         * sysdeps/ieee754/ldbl-opt/s_tan.c: New file.
2934         * sysdeps/ieee754/ldbl-opt/s_tanh.c: New file.
2935         * sysdeps/ieee754/ldbl-opt/s_trunc.c: New file.
2936         * sysdeps/ieee754/ldbl-opt/w_acos.c: New file.
2937         * sysdeps/ieee754/ldbl-opt/w_acosh.c: New file.
2938         * sysdeps/ieee754/ldbl-opt/w_acoshl.c: New file.
2939         * sysdeps/ieee754/ldbl-opt/w_acosl.c: New file.
2940         * sysdeps/ieee754/ldbl-opt/w_asin.c: New file.
2941         * sysdeps/ieee754/ldbl-opt/w_asinl.c: New file.
2942         * sysdeps/ieee754/ldbl-opt/w_atan2.c: New file.
2943         * sysdeps/ieee754/ldbl-opt/w_atan2l.c: New file.
2944         * sysdeps/ieee754/ldbl-opt/w_atanh.c: New file.
2945         * sysdeps/ieee754/ldbl-opt/w_atanhl.c: New file.
2946         * sysdeps/ieee754/ldbl-opt/w_cosh.c: New file.
2947         * sysdeps/ieee754/ldbl-opt/w_coshl.c: New file.
2948         * sysdeps/ieee754/ldbl-opt/w_drem.c: New file.
2949         * sysdeps/ieee754/ldbl-opt/w_dreml.c: New file.
2950         * sysdeps/ieee754/ldbl-opt/w_exp.c: New file.
2951         * sysdeps/ieee754/ldbl-opt/w_exp10.c: New file.
2952         * sysdeps/ieee754/ldbl-opt/w_exp10l.c: New file.
2953         * sysdeps/ieee754/ldbl-opt/w_fmod.c: New file.
2954         * sysdeps/ieee754/ldbl-opt/w_fmodl.c: New file.
2955         * sysdeps/ieee754/ldbl-opt/w_hypot.c: New file.
2956         * sysdeps/ieee754/ldbl-opt/w_hypotl.c: New file.
2957         * sysdeps/ieee754/ldbl-opt/w_j0.c: New file.
2958         * sysdeps/ieee754/ldbl-opt/w_j0l.c: New file.
2959         * sysdeps/ieee754/ldbl-opt/w_j1.c: New file.
2960         * sysdeps/ieee754/ldbl-opt/w_j1l.c: New file.
2961         * sysdeps/ieee754/ldbl-opt/w_jn.c: New file.
2962         * sysdeps/ieee754/ldbl-opt/w_jnl.c: New file.
2963         * sysdeps/ieee754/ldbl-opt/w_lgamma.c: New file.
2964         * sysdeps/ieee754/ldbl-opt/w_lgamma_r.c: New file.
2965         * sysdeps/ieee754/ldbl-opt/w_lgammal.c: New file.
2966         * sysdeps/ieee754/ldbl-opt/w_lgammal_r.c: New file.
2967         * sysdeps/ieee754/ldbl-opt/w_log.c: New file.
2968         * sysdeps/ieee754/ldbl-opt/w_log10.c: New file.
2969         * sysdeps/ieee754/ldbl-opt/w_log10l.c: New file.
2970         * sysdeps/ieee754/ldbl-opt/w_log2.c: New file.
2971         * sysdeps/ieee754/ldbl-opt/w_log2l.c: New file.
2972         * sysdeps/ieee754/ldbl-opt/w_logl.c: New file.
2973         * sysdeps/ieee754/ldbl-opt/w_pow.c: New file.
2974         * sysdeps/ieee754/ldbl-opt/w_powl.c: New file.
2975         * sysdeps/ieee754/ldbl-opt/w_remainder.c: New file.
2976         * sysdeps/ieee754/ldbl-opt/w_remainderl.c: New file.
2977         * sysdeps/ieee754/ldbl-opt/w_scalb.c: New file.
2978         * sysdeps/ieee754/ldbl-opt/w_scalbl.c: New file.
2979         * sysdeps/ieee754/ldbl-opt/w_sinh.c: New file.
2980         * sysdeps/ieee754/ldbl-opt/w_sinhl.c: New file.
2981         * sysdeps/ieee754/ldbl-opt/w_sqrt.c: New file.
2982         * sysdeps/ieee754/ldbl-opt/w_sqrtl.c: New file.
2983         * sysdeps/ieee754/ldbl-opt/w_tgamma.c: New file.
2984         * sysdeps/ieee754/ldbl-opt/w_tgammal.c: New file.
2985
2986         * sysdeps/unix/sysv/linux/sparc/bits/wordsize.h: New file.
2987         * sysdeps/unix/sysv/linux/sparc/sparc32/Implies: New file.
2988         * sysdeps/sparc/sparc32/Implies: Move ldbl-128 first and flt-32
2989         after dbl-64.
2990         * sysdeps/unix/sysv/linux/sparc/sparc32/Versions (NLDBL_VERSION):
2991         %define this to to GLIBC_2.4.
2992         * sysdeps/sparc/sparc32/fpu/e_sqrtl.c: New file.
2993         * sysdeps/sparc/sparc32/fpu/s_fabs.c: New file.
2994         * sysdeps/sparc/sparc32/fpu/s_fabsf.S: New file.
2995         * sysdeps/sparc/sparc32/fpu/s_fabsl.c: New file.
2996         * sysdeps/sparc/sparc32/soft-fp/q_qtoui.c: Removed.
2997         * sysdeps/sparc/sparc32/soft-fp/q_qtoux.c: Removed.
2998         * sysdeps/sparc/sparc32/soft-fp/q_qtox.c: Removed.
2999         * sysdeps/sparc/sparc32/soft-fp/q_uitoq.c: Removed.
3000         * sysdeps/sparc/sparc32/soft-fp/q_uxtoq.c: Removed.
3001         * sysdeps/sparc/sparc32/soft-fp/q_xtoq.c: Removed.
3002         * sysdeps/sparc/sparc32/soft-fp/q_lltoq.c: New file.
3003         * sysdeps/sparc/sparc32/soft-fp/q_qtoll.c: New file.
3004         * sysdeps/sparc/sparc32/soft-fp/q_qtou.c: New file.
3005         * sysdeps/sparc/sparc32/soft-fp/q_qtoull.c: New file.
3006         * sysdeps/sparc/sparc32/soft-fp/q_ulltoq.c: New file.
3007         * sysdeps/sparc/sparc32/soft-fp/q_utoq.c: New file.
3008         * sysdeps/sparc/sparc32/soft-fp/Versions: New file.
3009         * sysdeps/sparc/fpu/bits/mathinline.h (__unordered_cmp,
3010         __unordered_v9cmp): Define differently depending on
3011         -m32 -mlong-double-{64,128}.
3012         (__signbitl, sqrtl, __ieee754_sqrtl): New inlines.
3013         * sysdeps/sparc/fpu/bits/mathdef.h (__NO_LONG_DOUBLE_MATH): Remove.
3014         * sysdeps/sparc/sparc32/soft-fp/Makefile (sparc32-quad-routines):
3015         Set.
3016         (sysdep-routines): Add sparc32-quad-routines.
3017         * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Include stdlib.h.
3018         (FP_HANDLE_EXCEPTIONS): Call ___Q_simulate_exceptions as a normal
3019         function.
3020         * sysdeps/sparc/sparc32/soft-fp/q_sqrt.c (__ieee754_sqrtl): New
3021         alias to _Q_sqrt.
3022         * sysdeps/sparc/sparc32/soft-fp/q_div.c (_Q_div): Fix a typo.
3023         * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h: Include stdlib.h.
3024         * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
3025
3026         * libio/libio.h (_IO_vfscanf, _IO_vfprintf): Remove __THROW.
3027         (_IO_vfwscanf, _IO_vfwprintf): Likewise.
3028         * libio/libioP.h (_IO_vdprintf): Likewise.
3029
3030 2006-01-13  Richard Henderson  <rth@redhat.com>
3031
3032         * sysdeps/unix/sysv/linux/alpha/sysdep.h (PTR_MANGLE, PTR_MANGLE2,
3033         PTR_DEMANGLE, PTR_DEMANGLE2): Move ...
3034         * sysdeps/unix/alpha/sysdep.h: ... here.
3035         * sysdeps/unix/sysv/linux/alpha/fxstatat.c: Define __GI___fxstatat64.
3036
3037 2006-01-13  Andreas Jaeger  <aj@suse.de>
3038
3039         * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (ELF_NVRREG): Fix
3040         value for PowerPC64.
3041
3042 2006-01-12  Roland McGrath  <roland@redhat.com>
3043
3044         * sysdeps/s390/jmpbuf-offsets.h: New file.
3045         * sysdeps/s390/jmpbuf-unwind.h: Include it.
3046
3047         * sysdeps/alpha/__longjmp.S: Include <jmpbuf-offsets.h>
3048         instead of <bits/setjmp.h>.
3049         * sysdeps/alpha/setjmp.S: Likewise.
3050         * sysdeps/i386/__longjmp.S: Likewise.
3051         * sysdeps/i386/bsd-_setjmp.S: Likewise.
3052         * sysdeps/i386/bsd-setjmp.S: Likewise.
3053         * sysdeps/i386/setjmp.S: Likewise.
3054         * sysdeps/powerpc/powerpc32/__longjmp-common.S: Likewise.
3055         * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
3056         * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S:
3057         * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise.
3058         * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
3059         * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
3060         * sysdeps/sh/sh3/setjmp.S: Likewise.
3061         * sysdeps/sh/sh4/setjmp.S: Likewise.
3062         * sysdeps/sparc/sparc32/__longjmp.S: Likewise.
3063         * sysdeps/sparc/sparc32/setjmp.S: Likewise.
3064         * sysdeps/x86_64/__longjmp.S: Likewise.
3065         * sysdeps/x86_64/setjmp.S: Likewise.
3066         * sysdeps/mach/hurd/i386/longjmp-ts.c: Include <jmpbuf-offsets.h>.
3067         * sysdeps/mach/hurd/powerpc/longjmp-ts.c: Likewise.
3068         * sysdeps/mach/hurd/alpha/longjmp-ts.c: Likewise.
3069         * sysdeps/alpha/jmpbuf-unwind.h: Likewise.
3070         * sysdeps/hppa/jmpbuf-unwind.h: Likewise.
3071         * sysdeps/i386/jmpbuf-unwind.h: Likewise.
3072         * sysdeps/powerpc/jmpbuf-unwind.h: Likewise.
3073         * sysdeps/sparc/sparc32/jmpbuf-unwind.h: Likewise.
3074         * sysdeps/sparc/sparc64/jmpbuf-unwind.h: Likewise.
3075         * sysdeps/x86_64/jmpbuf-unwind.h: Likewise.
3076         * setjmp/jmpbuf-offsets.h: File removed.
3077         * include/bits/setjmp.h: File removed.
3078
3079 2006-01-11  Ulrich Drepper  <drepper@redhat.com>
3080
3081         * libio/wmemstream.c: New file.
3082         * libio/stdio.h: Declare open_wmemstream.
3083         * libio/Versions: Export open_wmemstream for GLIBC_2.4.
3084         * libio/Makefile (routines): Add wmemstream.
3085         (tests): Add tst-memstream1, tst-memstream2, tst-wmemstream2, and
3086         tst-wmemstream2.
3087         * libio/tst-memstream1.c: New file.
3088         * libio/tst-memstream2.c: New file.
3089         * libio/tst-wmemstream1.c: New file.
3090         * libio/tst-wmemstream2.c: New file.
3091
3092         * libio/memstream.c (_IO_mem_sync): Remove useless call to
3093         _IO_default_sync.
3094
3095         * elf/check-textrel.c: Add missing argument.
3096
3097         * Makerules: Define build-module-asneeded.
3098         * iconvdata/extra-module.mk: Use build-module-asneeded.
3099         needed.
3100
3101 2006-01-09  Richard Henderson  <rth@redhat.com>
3102
3103         * iconvdata/extra-module.mk ($(objpfx)$(mod).so): Depend on ld.so.
3104         * sysdeps/alpha/__longjmp.S: Use PTR_DEMANGLE.
3105         * sysdeps/alpha/setjmp.S: Likewise.  Avoid __sigjmp_save for rtld;
3106         tailcall in libc.so.
3107         * sysdeps/unix/sysv/linux/alpha/sysdep.h (PTR_MANGLE): Define.
3108         (PTR_MANGLE2): Define.
3109
3110 2006-01-11  Ulrich Drepper  <drepper@redhat.com>
3111
3112         * elf/check-localplt.c: New file.
3113         * elf/Makefile: Add rules to build and run check-localplt.
3114         * scripts/data/localplt-x86_64-linux-gnu.data: New file.
3115         * scripts/data/localplt-i386-linux-gnu.data: New file.
3116
3117         * include/sys/stat.h: Add libc_hidden_proto for __fxstatat64.
3118         * sysdeps/unix/sysv/linux/fxstatat64.c: Add libc_hidden_def for
3119         __fxstatat64.
3120         * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Add
3121         __GI___fxstatat64 alias.
3122
3123         * libio/memstream.c (_IO_mem_finish): Fix potential memory leak if
3124         realloc fails.
3125
3126         * include/sched.h: Add libc_hidden_proto for __sched_yield.
3127
3128         * libio/genops.c (_IO_unbuffer_write): Give concurrently running
3129         threads the chance to work correctly by trying to lock the stream.
3130         If this does not work, proceed without locking.
3131
3132 2006-01-10  Ulrich Drepper  <drepper@redhat.com>
3133
3134         * libio/genops.c (_IO_unbuffer_write): Don't always free the
3135         buffer.  This is not necessary except in debug mode.  If we don't
3136         free the buffer but the FILE structure to a list.
3137         (buffer_free): New function.  Free buffers or tell _IO_unbuffer_write
3138         to do so.
3139         * libio/libio.h (struct _IO_FILE): Add new members to keep track
3140         of which buffers have to be freed.
3141
3142         * iconv/gconv_cache.c (free_mem): Don't call munmap if gconv_cache
3143         is NULL.
3144
3145 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
3146
3147         * malloc/obstack.c: Fix old comments.  Update FSF snail mail address.
3148         * malloc/obstack.h: Likewise.
3149
3150         [BZ #321]
3151         Fix portability bugs encountered when porting to Itanium.
3152         * malloc/obstack.h (obstack_empty_p, obstack_finish): Do not
3153         assume that the "contents" member is suitably aligned.  It is
3154         not, for some hosts and alignments: e.g., Itanium, long-double.
3155         * malloc/obstack.c (_obstack_begin, _obstack_begin_1,
3156         _obstack_newchunk): Likewise.
3157         * malloc/obstack.c: Include <stddef.h>, for size_t.
3158         Include <inttypes.h>, <stdint.h> if needed and available.
3159         (DEFAULT_ALIGNMENT): Now an enum constant, not a macro.
3160         Use C89 offsetof rather than K&R trick.
3161         Use the maximum alignment of uintmax_t, long double, void *
3162         rather than the alignment of double.
3163         (union fooround): Use uintmax_t, long double, void * members
3164         rather than just long and double.
3165
3166         [BZ #321]
3167         Fix portability bugs encountered when porting to the IBM iSeries,
3168         where pointers are 256 bits wide and no integers are that wide.
3169         * malloc/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
3170         All uses changed to:
3171         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
3172         (struct _obstack_chunk.temp): Change from int to a union
3173         of pointer and int.  All uses changed.
3174
3175         [BZ #321]
3176         * malloc/obstack.c (print_and_abort) [!_LIBC]:
3177         Call fprintf (stderr, ...), not __fxprintf (NULL, ...).
3178         [_LIBC && USE_IN_LIBIO]: Don't include <wchar.h>; no longer needed.
3179
3180 2006-01-10  Derek Price  <derek@ximbiot.com>
3181             Paul Eggert  <eggert@cs.ucla.edu>
3182
3183         [BZ #1060]
3184         * posix/glob.c: Assume freestanding C89 compiler.  Simplify cruft that
3185         may be replaced with GNULIB modules.  Make no attempt to find 64-bit
3186         versions of file access functions directly when [!_LIBC].
3187         Don't define GLOB_* macros here.
3188         (DIRENT_MUST_BE, DIRENT_MIGHT_BE_SYMLINK, DIRENT_MIGHT_BE_DIR): New
3189         macros to abstract dirent->d_type access.
3190         (GETPW_R_SIZE_MAX, GET_LOGIN_NAME_MAX): New macros to abstract sysconf
3191         access.
3192
3193 2006-01-10  Roland McGrath  <roland@redhat.com>
3194
3195         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
3196         (PTR_MANGLE): Fix cast.
3197
3198         * timezone/test-tz.c: Revert last change, updating to match
3199         tzdata2005r definition of "MST".
3200
3201 2006-01-10  Ulrich Drepper  <drepper@redhat.com>
3202
3203         * include/bits/setjmp.h: Don't include jmpbuf-offsets.h if _ISOMAC is
3204         defined.
3205
3206 2006-01-10  Andreas Jaeger  <aj@suse.de>
3207
3208         * include/time.h: Use normal comments.
3209
3210 2006-01-10  Thomas Schwinge  <tschwinge@gnu.org>
3211
3212         * hurd/sigunwind.c: Include <jmpbuf-unwind.h> instead of <setjmp.h>.
3213         * sysdeps/mach/hurd/jmp-unwind.c: Likewise.
3214
3215 2006-01-10  Jakub Jelinek  <jakub@redhat.com>
3216
3217         * wcsmbs/bits/wchar2.h (vswprintf): Call __vswprintf_alias rather than
3218         vswprintf recursively.
3219
3220 2006-01-10  Ulrich Drepper  <drepper@redhat.com>
3221
3222         * sysdeps/x86_64/bits/setjmp.h: Add back accidently removed #endif.
3223
3224 2006-01-10  Roland McGrath  <roland@redhat.com>
3225
3226         * include/bits/setjmp.h: New file.
3227         * setjmp/jmpbuf-offsets.h: New file.
3228         * sysdeps/alpha/bits/setjmp.h: Move JB_* macros ...
3229         * sysdeps/alpha/jmpbuf-offsets.h: ... here, new file.
3230         * sysdeps/hppa/bits/setjmp.h (JB_SP): Macro moved ...
3231         * sysdeps/hppa/jmpbuf-offsets.h: ... here, new file.
3232         * sysdeps/i386/bits/setjmp.h: Move JB_* macros ...
3233         * sysdeps/i386/jmpbuf-offsets.h: ... here, new file.
3234         * sysdeps/mips/bits/setjmp.h (JB_PC): Macro removed.
3235         * sysdeps/powerpc/bits/setjmp.h: Move JB_* macros ...
3236         * sysdeps/powerpc/jmpbuf-offsets.h: ... here, new file.
3237         * sysdeps/s390/bits/setjmp.h: Remove __JB_* macros.
3238         * sysdeps/sh/bits/setjmp.h (JB_SIZE): Macro moved ...
3239         * sysdeps/sh/jmpbuf-offsets.h: ... here, new file.
3240         * sysdeps/sparc/sparc32/bits/setjmp.h: Move JB_* macros ...
3241         * sysdeps/sparc/sparc32/jmpbuf-offsets.h: ... here, new file.
3242         * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Remove JB_* macros.
3243         * sysdeps/x86_64/bits/setjmp.h: Move JB_* macros ...
3244         * sysdeps/x86_64/jmpbuf-offsets.h: ... here, new file.
3245
3246         * sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3247         * sysdeps/powerpc/jmpbuf-unwind.h: ... here.
3248         * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3249         * sysdeps/alpha/jmpbuf-unwind.h: ... here.
3250         * sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3251         * sysdeps/sparc/sparc32/jmpbuf-unwind.h: ... here.
3252         * sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3253         * sysdeps/i386/jmpbuf-unwind.h: ... here.
3254         * sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3255         * sysdeps/x86_64/jmpbuf-unwind.h: ... here.
3256         * sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3257         * sysdeps/sh/jmpbuf-unwind.h: ... here.
3258         * sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3259         * sysdeps/hppa/jmpbuf-unwind.h: ... here, new file.
3260         * sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3261         * sysdeps/mips/jmpbuf-unwind.h: ... here.
3262         * sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3263         * sysdeps/m68k/jmpbuf-unwind.h: ... here, new file.
3264         * sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ...
3265         * sysdeps/s390/jmpbuf-unwind.h: ... here.
3266         * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h (_JMPBUF_UNWINDS):
3267         Move macro ...
3268         * sysdeps/ia64/jmpbuf-unwind.h: ... here.
3269         * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h (_JMPBUF_UNWINDS):
3270         Move macro ...
3271         * sysdeps/sparc/sparc64/jmpbuf-unwind.h: ... here.
3272
3273         * sysdeps/alpha/jmpbuf-unwind.h: New file, moved from nptl/.
3274         * sysdeps/i386/jmpbuf-unwind.h: New file, moved from nptl/.
3275         * sysdeps/ia64/jmpbuf-unwind.h: New file, moved from nptl/.
3276         * sysdeps/mips/jmpbuf-unwind.h: New file, moved from nptl/.
3277         * sysdeps/powerpc/jmpbuf-unwind.h: New file, moved from nptl/.
3278         * sysdeps/s390/jmpbuf-unwind.h: New file, moved from nptl/.
3279         * sysdeps/sh/jmpbuf-unwind.h: New file, moved from nptl/.
3280         * sysdeps/sparc/sparc32/jmpbuf-unwind.h: New file, moved from nptl/.
3281         * sysdeps/sparc/sparc64/jmpbuf-unwind.h: New file, moved from nptl/.
3282         * sysdeps/x86_64/jmpbuf-unwind.h: New file, moved from nptl/.
3283
3284         * sysdeps/linkmap.h: File removed.
3285
3286 2006-01-07  Carlos O'Donell  <carlos@systemhalted.org>
3287
3288         * sysdeps/hppa/elf/start.S (_start): Use PLABEL32 relocations
3289         by using LR and RR. Add %sr0 to iitlbp.
3290
3291 2006-01-09  Roland McGrath  <roland@redhat.com>
3292
3293         * timezone/private.h: Update from tzcode2005r.
3294         * timezone/tzfile.h: Likewise.
3295         * timezone/zdump.c: Likewise.
3296         * timezone/zic.c: Likewise.
3297         * timezone/africa: Update from tzdata2005r.
3298         * timezone/antarctica: Likewise.
3299         * timezone/asia: Likewise.
3300         * timezone/australasia: Likewise.
3301         * timezone/backward: Likewise.
3302         * timezone/europe: Likewise.
3303         * timezone/northamerica: Likewise.
3304         * timezone/southamerica: Likewise.
3305         * timezone/systemv: Likewise.
3306
3307         * elf/Makefile ($(objpfx)reldep5.out): Fix dependency typo,
3308         so we depend on $(objpfx)reldepmod6.so as intended.
3309
3310 2006-01-09  Ulrich Drepper  <drepper@redhat.com>
3311
3312         [BZ #2126]
3313         * sysdeps/i386/i686/strtok.S: Store pointer to NUL byte if NULL is
3314         returned.
3315         * sysdeps/i386/strtok.S: Likewise.
3316         * sysdeps/x86_64/strtok.S: Likewise.
3317         * string/Makefile (tests): Add bug-strtok1.
3318         * string/bug-strtok1.c: New file.
3319
3320         * elf/check-textrel.c (AB): Also check for writable and executable
3321         segments.
3322
3323         * sysdeps/ieee754/dbl-64/e_exp2.c: Remove section attribute from
3324         const variables, gas produces garbage.
3325         * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise.
3326         * sysdeps/ieee754/flt-32/e_expf.c: Likewise.
3327         * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise.
3328
3329 2006-01-09  Jakub Jelinek  <jakub@redhat.com>
3330
3331         * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h (_JMPBUF_UNWINDS): Add
3332         stack bias to mc_fp field.
3333
3334         * sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
3335         (struct kernel_stat): Rename st_[amc]time fields to st_[amc]time_sec.
3336         (struct kernel_stat64): New type.
3337         (_HAVE___UNUSED1, _HAVE___UNUSED2, _HAVE_STAT___UNUSED1,
3338         _HAVE_STAT___UNUSED2, _HAVE_STAT___UNUSED3, _HAVE_STAT___UNUSED4,
3339         _HAVE_STAT___UNUSED5, _HAVE_STAT___PAD1, _HAVE_STAT___PAD2,
3340         _HAVE_STAT64___UNUSED1, _HAVE_STAT64___UNUSED2,
3341         _HAVE_STAT64___UNUSED3, _HAVE_STAT64___UNUSED4,
3342         _HAVE_STAT64___UNUSED5, _HAVE_STAT64___PAD1, _HAVE_STAT64___PAD2):
3343         Remove.
3344         * sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: Use i386/xstat.c.
3345         * sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c:
3346         Use i386/fxstatat.c.
3347         * sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c: Use i386/lxstat.c.
3348         * sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c: New file.
3349         * sysdeps/unix/sysv/linux/sparc/bits/stat.h (struct stat,
3350         struct stat64): Add nsec resolution for 64-bit code like already done
3351         for 32-bit code.
3352         * sysdeps/unix/sysv/linux/kernel-features.h
3353         (__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_MMAP2_SYSCALL): Don't define
3354         for sparc64.
3355         (__ASSUME_STAT64_SYSCALL): Only define for sparc64 for >= 2.6.12
3356         kernels.
3357
3358         * scripts/data/c++-types-sparc-linux-gnu.data: New file.
3359         * scripts/data/c++-types-sparc64-linux-gnu.data: New file.
3360         * scripts/data/c++-types-alpha-linux-gnu.data: Adjust.
3361
3362 2006-01-08  Roland McGrath  <roland@redhat.com>
3363
3364         [BZ #1535]
3365         * sysdeps/unix/get_child_max.c: New file.
3366         * posix/get_child_max.c: New file.
3367         * posix/Makefile (routines): Add it.
3368         * include/sys/sysinfo.h (__get_child_max): Declare it.
3369         * sysdeps/posix/sysconf.c (__sysconf) [! CHILD_MAX]: Use it.
3370
3371         * sysdeps/unix/sysv/linux/futimes.c [!__NR_fcntl && __NR_fcntl64]: Use
3372         fcntl64 syscall instead.
3373
3374         * stdio-common/tst-fmemopen2.c (do_test): Add a cast.
3375         * stdio-common/printf-parsemb.c (__find_specmb): Likewise.
3376
3377         * sysdeps/unix/sysv/linux/alpha/adjtime.c: Use <> instead of "" in
3378         #include for kernel-features.h.
3379         * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c: Likewise.
3380         * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: Likewise.
3381         * sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise.
3382         * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise.
3383         * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
3384         * sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise.
3385         * sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
3386         * sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise.
3387         * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise.
3388         * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise.
3389         * sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise.
3390         * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise.
3391         * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise.
3392         * sysdeps/unix/sysv/linux/alpha/xstatconv.h: Likewise.
3393         * sysdeps/unix/sysv/linux/check_pf.c: Likewise.
3394         * sysdeps/unix/sysv/linux/clock_getcpuclockid.c: Likewise.
3395         * sysdeps/unix/sysv/linux/clock_getres.c: Likewise.
3396         * sysdeps/unix/sysv/linux/clock_gettime.c: Likewise.
3397         * sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise.
3398         * sysdeps/unix/sysv/linux/clock_settime.c: Likewise.
3399         * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise.
3400         * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
3401         * sysdeps/unix/sysv/linux/dl-sysdep.c: Likewise.
3402         * sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise.
3403         * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise.
3404         * sysdeps/unix/sysv/linux/futimes.c: Likewise.
3405         * sysdeps/unix/sysv/linux/futimesat.c: Likewise.
3406         * sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
3407         * sysdeps/unix/sysv/linux/fxstatat64.c: Likewise.
3408         * sysdeps/unix/sysv/linux/getcwd.c: Likewise.
3409         * sysdeps/unix/sysv/linux/getdents.c: Likewise.
3410         * sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
3411         * sysdeps/unix/sysv/linux/i386/fchown.c: Likewise.
3412         * sysdeps/unix/sysv/linux/i386/fchownat.c: Likewise.
3413         * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
3414         * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
3415         * sysdeps/unix/sysv/linux/i386/fxstatat.c: Likewise.
3416         * sysdeps/unix/sysv/linux/i386/getegid.c: Likewise.
3417         * sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise.
3418         * sysdeps/unix/sysv/linux/i386/getgid.c: Likewise.
3419         * sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise.
3420         * sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise.
3421         * sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise.
3422         * sysdeps/unix/sysv/linux/i386/getuid.c: Likewise.
3423         * sysdeps/unix/sysv/linux/i386/lchown.c: Likewise.
3424         * sysdeps/unix/sysv/linux/i386/lockf64.c: Likewise.
3425         * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
3426         * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
3427         * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
3428         * sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
3429         * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise.
3430         * sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
3431         * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
3432         * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
3433         * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
3434         * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise.
3435         * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
3436         * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
3437         * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
3438         * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
3439