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