Update.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2004-03-15  Ulrich Drepper  <drepper@redhat.com>
2
3         * sysdeps/sparc/fpu/bits/mathinline.h: Restore missing #ifdef.
4         Patch by Richard Henderson.
5
6 2004-03-16  Jakub Jelinek  <jakub@redhat.com>
7
8         * sysdeps/generic/strtold_l.c (STRING_TYPE, STRTOLD, __STRTOLD,
9         __STRTOD, INTERNAL, INTERNAL1): Define, use them.
10         [! USE_WIDE_CHAR] (INTERNAL (__STRTOLD)): Add libc_hidden_def.
11
12         * inet/getnameinfo.c: Include stdlib.h.
13
14 2004-03-15  Richard Henderson  <rth@redhat.com>
15
16         * math/Makefile (headers): Add bits/huge_valf.h, bits/huge_vall.h,
17         and bits/inf.h.
18         * math/math.h: Include them.
19
20         * sysdeps/alpha/fpu/bits/mathdef.h, sysdeps/arm/fpu/bits/mathdef.h,
21         sysdeps/generic/bits/mathdef.h, sysdeps/i386/fpu/bits/mathdef.h,
22         sysdeps/ia64/fpu/bits/mathdef.h, sysdeps/m68k/fpu/bits/mathdef.h,
23         sysdeps/mips/fpu/bits/mathdef.h, sysdeps/powerpc/fpu/bits/mathdef.h,
24         sysdeps/sh/sh4/fpu/bits/mathdef.h, sysdeps/sparc/fpu/bits/mathdef.h,
25         sysdeps/x86_64/fpu/bits/mathdef.h: Remove INFINITY.
26
27         * sysdeps/arm/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
28         (HUGE_VALF, HUGE_VALL): Remove.
29         * sysdeps/ieee754/bits/huge_val.h: Likewise.
30         * sysdeps/sh/bits/huge_val.h: Likewise.
31
32         * sysdeps/generic/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val.
33         * sysdeps/generic/bits/huge_valf.h: New file.
34         * sysdeps/generic/bits/huge_vall.h: New file.
35         * sysdeps/generic/bits/inf.h: New file.
36         * sysdeps/ieee754/bits/huge_valf.h: New file.
37         * sysdeps/ieee754/bits/inf.h: New file.
38         * sysdeps/i386/bits/huge_val.h: Remove file.
39         * sysdeps/i386/bits/huge_vall.h: New file.
40         * sysdeps/ia64/bits/huge_val.h: Remove file.
41         * sysdeps/ia64/bits/huge_vall.h: New file.
42         * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: New file.
43         * sysdeps/m68k/bits/huge_val.h: Remove file.
44         * sysdeps/m68k/bits/huge_vall.h: New file.
45         * sysdeps/s390/bits/huge_val.h: Remove file.
46         * sysdeps/sh/sh4/fpu/bits/huge_val.h: Remove file.
47         * sysdeps/sparc/bits/huge_vall.h: New file.
48         * sysdeps/sparc/sparc32/fpu/bits/huge_val.h: Remove file.
49         * sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Remove file.
50
51         * sysdeps/ieee754/bits/nan.h (NAN): Use __builtin_nanf.
52         * sysdeps/mips/bits/nan.h (NAN): Likewise.
53
54 2004-03-15  Ulrich Drepper  <drepper@redhat.com>
55
56         * iconv/gconv_simple.c (__gconv_transform_utf8_internal): Use only
57         one copy of error handling code.
58
59         * stdio-common/vfscanf.c: Simplify error handling macros.  Use
60         direct locale access functions.
61
62         * sysdeps/generic/strcasestr.c (__strcasestr): Optimize use of
63         tolower function.
64
65 2004-03-13  Jakub Jelinek  <jakub@redhat.com>
66
67         * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add const.
68         (handle_amd): New function.
69         (__sysconf): Handle _SC_LEVEL4_CACHE_LINESIZE here, not in
70         linux_sysconf.  Call handle_amd on AuthenticAMD.
71         * sysdeps/unix/sysv/linux/x86_64/sysconf.c: Likewise.
72
73 2004-03-14  Ulrich Drepper  <drepper@redhat.com>
74
75         * wcsmbs/mbsrtowcs.c: Just a wrapper around __mbsrtowcs_l.
76         * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Add real implementation here.
77
78         Make the non-_l functions wrappers around the _l functions.
79         * include/monetary.h: Declare __vstrmon_l.
80         * include/string.h: Add libc_hidden_proto for __strcoll_l and
81         __strxfrm_l.
82         * include/time.h: Define ptime_locale_status.  Declare
83         __strptime_internal.
84         * include/wchar.h: Add libc_hidden_proto for __wcscoll_l and
85         __wcsxfrm_l.
86         * stdlib/strfmon.c: Move the code to strfmon_l.c.  Add little
87         wrapper around __vstrfmon_l.
88         * stdlib/strfmon_l.c: Add real implementation.  Split into new
89         function __vstrfmon_l to allow calling it from strfmon.
90         * stdlib/strtod.c: Move real code to strtod_l.c and add wrapper.
91         * stdlib/strtod_l.c: Add real implementation.
92         * stdlib/strtof.c: Adjust to changed strtod.c.
93         * stdlib/strtof_l.c: Include strtod_l.c now.
94         * stdlib/strtold.c: New file.
95         * stdlib/strtold_l.c: Removed.
96         * string/strcoll.c: Move real code to strcoll_l.c: Add wrapper.
97         * string/strcoll_l.c: Add real implementation.
98         * string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper.
99         * string/strxfrm_l.c: Add real implementation.
100         * sysdeps/generic/strtol.c: Move real implementation to strtol_l.c.
101         Add wrappers.
102         * sysdeps/generic/strtol_l.c: Add real implementation.
103         * sysdeps/generic/strtold.c: Removed.
104         * sysdeps/generic/strtold_l.c: New file.
105         * sysdeps/generic/strtoll_l.c: Include strtol_l.c now.  Adjust
106         #defines.
107         * sysdeps/generic/strtoul_l.c: Likewise.
108         * sysdeps/generic/strtoull_l.c: Likewise.
109         * sysdeps/generic/wcstol_l.c: Likewise.
110         * sysdeps/generic/wcstoll_l.c: Likewise.
111         * sysdeps/generic/wcstoul_l.c: Likewise.
112         * sysdeps/generic/wcstoull_l.c: Likewise.
113         * sysdeps/ieee754/ldbl-128/strtold.c: Removed.
114         * sysdeps/ieee754/ldbl-128/strtold_l.c: New file.
115         * sysdeps/ieee754/ldbl-96/strtold.c: Removed.
116         * sysdeps/ieee754/ldbl-96/strtold_l.c: New file.
117         * sysdeps/m68k/strtold.c: Removed.
118         * sysdeps/m68k/strtold_l.c: New file.
119         * time/strftime.c: Move real code to strftime_l.c.  Add wrapper.
120         * time/strftime_l.c: Add real implementation.
121         * time/strptime.c: Move real code to strptime_l.c.  Add wrapper.
122         * time/strptime_l.c: Add real implementation.
123         * time/wcsftime.c: Simplify since only wrappers are defined in
124         strftime.c.
125         * time/wcsftime_l.c: Include strftime_l.c.
126         * wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c
127         anymore.
128         * wcsmbs/wcscoll_l.c: Include strcoll_l.c.
129         * wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c
130         anymore.
131         * wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c.
132         * wcsmbs/wcstod.c: Prepare to include new strtod.c.
133         * wcsmbs/wcstod_l.c: Include strtod_l.c.
134         * wcsmbs/wcstof.c: Prepare to include new strtof.c.
135         * wcsmbs/wcstof_l.c: Include strtof_l.c.
136         * wcsmbs/wcstold.c: Prepare to include new strtold.c.
137         * wcsmbs/wcstold_l.c: Include strtold_l.c.
138
139         * locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get.
140
141         * sysdeps/generic/strcasecmp.c: Optimize a bit.  It's better to get
142         a reference to the current locale and then use the _l functions.
143         * sysdeps/generic/strncase.c: Likewise.
144
145 2004-03-11  Jeroen Dekkers  <jeroen@dekkers.cx>
146
147         * cppflags-iterator.mk: Change libof-$(cpp-src) to
148         libof-$(notdir $(cpp-src)).
149
150 2004-03-13  Ulrich Drepper  <drepper@redhat.com>
151
152         * resolv/netdb.h (EAI_OVERFLOW): Define.
153         (NI_IDN): Define.
154         * inet/getnameinfo.c (getnameinfo): Return error in case argument
155         buffers overflow.  Implement NI_IDN.
156
157 2004-03-12  Ulrich Drepper  <drepper@redhat.com>
158
159         * resolv/netdb.h: Define AI_CANONIDN.
160         * sysdeps/posix/getaddrinfo.c: Implement AI_CANONIDN.
161
162 2004-03-12  Richard Henderson  <rth@redhat.com>
163
164         * sysdeps/unix/sysv/linux/alpha/select.S: Fix unwind.  Propagate
165         oldvalue from CENABLE to CDISABLE.
166
167 2004-03-12  Ulrich Drepper  <drepper@redhat.com>
168
169         * sysdeps/unix/sysv/linux/x86_64/sysconf.c: New file.
170
171         * sysdeps/unix/sysv/linux/bits/local_lim.h: Define HOST_NAME_MAX.
172
173         * posix/getconf.c (vars): Add _SC_ values for cache information.
174         * sysdeps/generic/bits/confname.h: Add _SC_* values for cache
175         information.
176         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Reorganize to
177         allow yet another sysconf function to include the one in this file.
178         * sysdeps/unix/sysv/linux/i386/sysconf.c: New file.
179         * sysdeps/generic/sysconf.c: Add default handling for cache line info.
180
181 2004-03-11  Ulrich Drepper  <drepper@redhat.com>
182
183         * sysdeps/posix/sysconf.c (__sysconf): Add missing support for
184         some _SC_* values.
185
186 2004-03-10  Chris Heath  <chris@heathens.co.nz>
187
188         * iconvdata/gconv.map: Add gconv_end (fixes memory leak).
189
190 2004-03-11  Jakub Jelinek  <jakub@redhat.com>
191
192         * sysdeps/powerpc/powerpc32/__longjmp.S (JB_SIZE): Undefine before
193         including __longjmp-common.S again.
194         * sysdeps/powerpc/powerpc64/__longjmp.S (JB_SIZE): Likewise.
195         * sysdeps/powerpc/powerpc32/setjmp.S (JB_SIZE): Undefine before
196         including setjmp-common.S again.
197         * sysdeps/powerpc/powerpc64/setjmp.S (JB_SIZE): Likewise.
198         * sysdeps/powerpc/novmxsetjmp.h (__novmx__longjmp): Fix type of
199         first argument in the prototype.
200         * sysdeps/powerpc/longjmp.c (__vmx__longjmp, __vmx__libc_longjmp):
201         Remove bogus semicolons.
202
203         * sysdeps/s390/dl-tls.h: Only add __tls_get_offset assembly if
204         IS_IN_rtld.
205         (__TLS_GET_ADDR): Use __tls_get_offset, not __tls_get_addr.
206
207 2004-03-11  Ulrich Drepper  <drepper@redhat.com>
208
209         * resolv/ns_ttl.c: Don't add ns_parse_ttl for libresolv.so.
210
211 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
212
213         * sysdeps/generic/errno.c: Include <dl-sysdep.h>.  Use
214         RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed.
215
216         * elf/dl-sym.c: Unify _dl_sym and _dl_vsym code and make the entry
217         points wrappers around the unified code.
218
219 2004-03-11  Richard Henderson  <rth@redhat.com>
220
221         * sysdeps/unix/sysv/linux/alpha/kernel_stat.h (kernel_stat64): New.
222         (glibc21_stat): New.
223         * sysdeps/unix/sysv/linux/alpha/fxstat.c: New file.
224         * sysdeps/unix/sysv/linux/alpha/lxstat.c: New file.
225         * sysdeps/unix/sysv/linux/alpha/xstat.c: New file.
226         * sysdeps/unix/sysv/linux/alpha/xstatconv.c (__xstat_conv): Add
227         code for _STAT_VER_GLIBC2_3_4.
228         (__libc_missing_axp_stat64): New.
229         * sysdeps/unix/sysv/linux/alpha/xstatconv.h: New file.
230         * sysdeps/unix/sysv/linux/alpha/bits/stat.h (__ST_TIME): New.
231         (_STAT_VER_GLIBC2_3_4, _STAT_VER_KERNEL64): New.
232         (struct stat, struct stat64): Update to new format.
233         (_STATBUF_ST_NSEC): New.
234
235 2004-03-11  Jakub Jelinek  <jakub@redhat.com>
236
237         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
238         (__novec_swapcontext): Branch to novec_* labels.
239
240 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
241
242         * posix/getopt.c (_): Don't define here for glibc.
243
244 2004-03-10  Jakub Jelinek  <jakub@redhat.com>
245
246         * include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
247         compat_data_section): Define.
248         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
249         attribute_compat_text_section.
250         * sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
251         * sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
252         __old_globfree): Likewise.
253         * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
254         Likewise.
255         * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
256         (__posix_fadvise64_l32): Likewise.
257         * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
258         * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
259         (__posix_fadvise64_l32): Likewise.
260         * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
261         Likewise.
262         * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
263         * sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
264         Likewise.
265         * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
266         * hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
267         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
268         (__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
269         (__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
270         * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
271         (__makecontext_stub): Likewise.
272         (__novec_makecontext): Likewise.  Fix name in END () to match
273         function name.
274         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
275         (__setcontext): Use END instead of PSEUDO_END.
276         (__novec_setcontext): Add compat_text_section.  Use END instead of
277         PSEUDO_END, fix the name in END () to match function name.
278         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
279         (__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
280         (__novec_getcontext, __getcontext_stub): Add compat_text_section.
281
282 2004-03-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
283
284         * sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
285         (COPY_UNALIGNED_WORD): Remove cast used as lvalue.
286
287 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
288
289         * sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
290
291 2004-03-10  Richard Henderson  <rth@redhat.com>
292
293         * sysdeps/generic/errno.c: Disable versioning for rtld.
294
295         * sysdeps/generic/Makefile (elf/shared): Add unwind-pe.
296         * sysdeps/generic/unwind-pe.c: New file.
297         * sysdeps/generic/unwind-pe.h: Only prototypes for _LIBC without
298         _LIBC_DEFINITIONS.
299
300 2004-03-10  Ulrich Drepper  <drepper@redhat.com>
301
302         * include/libc-symbols.h: Define attribute_compat_text_section and
303         attribute_compat_data_section.
304         * io/ftw.c: Mark compat code with attribute_compat_text_section.
305         * libio/iofopncook.c: Likewise.
306         * libio/oldfileops.c: Likewise.
307         * libio/oldiofclose.c: Likewise.
308         * libio/oldiofdopen.c: Likewise.
309         * libio/oldiofgetpos.c: Likewise.
310         * libio/oldiofgetpos64.c: Likewise.
311         * libio/oldiofopen.c: Likewise.
312         * libio/oldiofsetpos.c: Likewise.
313         * libio/oldiofsetpos64.c: Likewise.
314         * libio/oldiopopen.c: Likewise.
315         * libio/oldpclose.c: Likewise.
316         * libio/oldtmpfile.c: Likewise.
317         * nptl/forward.c: Likewise.
318         * nss/getXXbyYY_r.c: Likewise.
319         * nss/getXXent_r.c: Likewise.
320         * posix/tst-vfork1.c: Likewise.
321         * stdlib/canonicalize.c: Likewise.
322         * stdlib/old_atexit.c: Likewise.
323         * sysdeps/generic/glob.c: Likewise.
324         * sysdeps/posix/posix_fallocate64.c: Likewise.
325         * sysdeps/unix/sysv/linux/i386/alphasort64.c: Likewise.
326         * sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
327         * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
328         * sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
329         * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Likewise.
330         * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise.
331         * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise.
332         * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise.
333         * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise.
334         * sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
335         * sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise.
336         * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise.
337         * posix/regexec.c: Likewise.
338
339         * sysdeps/unix/sysv/linux/i386/syscalls.list: vm86@@GLIBC_2.3.4
340         should be the default symbol. Having none misses the point.
341
342 2004-03-09  Ulrich Drepper  <drepper@redhat.com>
343
344         * stdlib/qsort.c (_quicksort): Initialize first stack element [BZ #16].
345
346 2004-03-05  Jakub Jelinek  <jakub@redhat.com>
347
348         * posix/regexec.c (regexec): Return with error on unknown eflags.
349         Replace weak_alias with versioned_symbol.
350         (__compat_regexec): New.
351         * posix/Versions (libc): Add regexec@GLIBC_2.3.4.
352
353 2004-03-09  Richard Henderson  <rth@redhat.com>
354
355         * math/math.h (isgreater, isgreaterequal, isless, islessequal,
356         islessgreater, isunordered): Use builtins if available.
357         * sysdeps/i386/fpu/bits/mathinline.h: Don't define via builtins.
358         * sysdeps/m68k/fpu/bits/mathinline.h: Likewise.
359         * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
360         * sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
361         * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
362         * sysdeps/alpha/fpu/bits/mathinline.h (isgreater, isgreaterequal,
363         isless, islessequal, islessgreater): Remove; use default.
364         (isunordered): Convert inputs to double.
365
366 2004-02-09  Jakub Jelinek  <jakub@redhat.com>
367
368         * posix/Makefile (tests): Add tst-vfork2.
369         * posix/tst-vfork1.c (do_test): Fix comment.
370         * posix/tst-vfork2.c: New test.
371
372 2004-03-09  Ulrich Drepper  <drepper@redhat.com>
373
374         * elf/dl-lookup.c (_dl_lookup_symbol_x): Fix possible NULL pointer
375         derefernce in error message.  Pretty printing.
376
377         * po/nl.po: Update from translation team.
378
379 2004-03-08  Andreas Schwab  <schwab@suse.de>
380
381         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't truncate
382         sysinfo pointer value.
383
384 2004-03-08  Paul Eggert  <eggert@cs.ucla.edu>
385
386         Merge from gnulib.  We now assume C89 or better.
387         * posix/getopt1.c (const): Remove.
388         * posix/getopt.c (const): Likewise.
389         * posix/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
390         _getopt_long_only_r, main): Use prototypes, not old-style definitions.
391         * posix/getopt.c (exchange, _getopt_initialize, _getopt_internal_r,
392         _getopt_internal, getopt, main): Likewise.
393         * posix/getopt.h (getopt, getopt_long, getopt_long_only): Likewise.
394         * posix/getopt.c [!defined VMS || !HAVE_STRING_H]:
395         Include <string.h> regardless.  No need for <strings.h>.
396         [!defined _LIBC]: Include "gettext.h" rather than rolling it ourselves.
397         (_): Define to gettext always.
398         (my_index): Remove: all uses changed to strchr.
399         (strlen): Remove declaration.
400         * posix/getopt.h (struct option.name): Always const char *.
401
402 2004-03-08  Marcus Brinkmann  <marcus@gnu.org>
403
404         * posix/getopt.h (_getopt_internal): Move to ...
405         * posix/getopt_int.h: ... here.  New file.
406         * include/getopt_int.h: New file.
407         * include/getopt.h: Remove libc_hidden_proto for getopt_long
408         and getopt_long_only.
409         * posix/getopt1.c: Include "getopt_int.h".  Remove
410         libc_hidden_def for getopt_long and getopt_long_only.
411         (_getopt_long_r, _getopt_long_only_r): New functions.
412         * posix/getopt.c: Include "getopt_int.h".
413         (__getopt_initialized): Variable removed.
414         (nextchar, ordering, posixly_correct, first_nonopt, last_nonopt):
415         Static variables removed.
416         (nonoption_flags_max_len, nonoption_flags_len) [_LIBC &&
417         USE_NONOPTION_FLAGS]: Static variables removed.
418         (getopt_data): New static variable.
419         (SWAP_FLAGS): Use d->__nonoption_flags_len instead
420         nonoption_flags_len.
421         (exchange): Add new argument D of type struct getopt_data *.
422         Replace optind with d->optind, optarg with d->optarg, opterr with
423         d->opterr, optopt with d->optopt, nextchar with d->__nextchar,
424         first_nonopt with d->__first_nonopt, last_nonopt with
425         d->__last_nonopt, d->ordering with d->__ordering,
426         d->posixly_correct with d->__posixly_correct (which is now an
427         int instead a string, so fix users), nonoption_flags_len
428         with d->__nonoption_flags_len, nonoption_flags_max_len with
429         d->__nonoption_flags_max_len.
430         (_getopt_initialize): Likewise.
431         (_getopt_internal): Rename to ...
432         (_getopt_internal_r): ... this.  Also add new argument D of type
433         struct getopt_data * and use of members of D rather than global or
434         static variables as described for exchange() above.  Add new argument
435         to invocations of _getopt_initialize and exchange.
436         (_getopt_internal): Reimplement in terms of _getopt_internal_r.
437         * argp/argp-parse.c: Include <getopt_int.h>.
438         [_LIBC]: Do not include <bits/libc-lock.h>.
439         [!_LIBC && HAVE_CTHREADS_H]: Do not include <cthreads.h>.
440         [!_LIBC] (_argp_hang): Make static.
441         (getopt_lock, LOCK_GETOPT, UNLOCK_GETOPT): Remove.
442         (_argp_unlock_xxx): Remove.
443         (parser_init): Do not use LOCK_GETOPT.
444         (parser_finalize): Do not use UNLOCK_GETOPT.
445         (struct parser): New member OPT_DATA.
446         (parser_init): Initialize parser->opt_data.  Use
447         parser->opt_data.opterr instead of opterr.
448         (parser_parse_opt): Use parser->opt_data.optarg instead optarg.
449         (parser_parse_next): Likewise.  Use parser->opt_data.optind
450         instead optind.  Use parser->opt_data.optopt instead of optopt.
451         Call _getopt_long_only_r and _getopt_long_r instead of
452         getopt_long_only and getopt_long, and pass the extra argument.
453
454 2004-03-09  Ulrich Drepper  <drepper@redhat.com>
455
456         * iconv/gconv_db.c: Don't define lock as static.  Rename to
457         __gconv_lock and export from the file.
458         * iconv/gconv_int.h: Declare __gconv_lock.
459         * libio/iofclose.c [_LIBC] (_IO_new_fclose): Lock gconv lock
460         before __gconv_release_step calls.
461         Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
462
463         * iconv/gconv_simple.c (internal_ucs4_loop): Fix typo in last change.
464
465         * posix/Makefile (tests): Add tst-vfork1.
466         * posix/tst-vfork1.c: New file.
467
468 2004-03-08  Ulrich Drepper  <drepper@redhat.com>
469
470         * sysdeps/i386/dl-machine.h: Define ARCH_FIXUP_ATTRIBUTE and use
471         it in the fixup function declarations.
472         * elf/dl-runtime.c: If ARCH_FIXUP_ATTRIBUTE is not defined,
473         provide dummy definition.  Use macro in fixup function
474         definitions.
475
476         * sysdeps/unix/sysv/linux/i386/vfork.S: If SAVE_PID and
477         RESTORE_PID are defined, use it.
478         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
479
480         * sysdeps/posix/gai_strerror.c: Add error string for EAI_IDN_ENCODE.
481
482         * Makerules: Use extra-modules.mk if modules-names is defined.
483         * extra-modules.mk: New file.
484         * dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed.
485         * elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1.
486         * csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to
487         compiler.
488         * Makefile (distribute): Add symbol-hacks.h and extra-modules.mk.
489         * sysdeps/generic/symbol-hacks.h: New file.
490         * sysdeps/wordsize-32/symbol-hacks.h: New file.
491         * sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3,
492         __moddi3, __udivdi3, and __umoddi3.
493         * include/libc-symbols.h: Include <symbol-hacks.h>.
494
495 2004-03-08  Jeroen Dekkers  <jeroen@dekkers.cx>
496
497         * elf/rtld.c (_rtld_global_ro) [MAP_COPY]: Don't set _dl_unload_cache.
498
499         * sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps):
500         Don't use INTUSE with _dl_signal_error.
501
502 2004-03-08  Ulrich Drepper  <drepper@redhat.com>
503
504         * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow):
505         Don't use INTUSE with _dl_signal_error.
506
507 2004-03-08  Richard Henderson  <rth@redhat.com>
508
509         * sysdeps/alpha/soft-fp/ots_cvtxt.c (_OtsConvertFloatXT): Fix typo
510         in name.
511
512 2004-03-07  Ulrich Drepper  <drepper@redhat.com>
513
514         * config.h.in: Add entry for HAVE_LIBIDN.
515         * configure.in: If libidn add-on present define HAVE_LIBIDN.
516         * Versions.def: Add entry for libcidn.
517
518 2004-03-07  Simon Josefsson  <jas@extundo.com>
519
520         * resolv/netdb.h [__USE_GNU]: Add new AI_IDN ai_flags for addrinfo.
521         [__USE_GNU]: Add new error code EAI_IDN_ENCODE for getaddrinfo.
522         * sysdeps/posix/getaddrinfo.c: Add prototype for __idna_to_ascii_lz
523         and define IDNA_SUCCESS.
524         (gaih_inet): If ai_flags have AI_IDN, invoke __idna_to_ascii_lz.
525         (getaddrinfo): Fix EAI_BADFLAGS test to include AI_IDN.
526         All changes only applicable when glibc is compiled with the libidn
527         add-on.
528
529 2004-03-07  Ulrich Drepper  <drepper@redhat.com>
530
531         * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Call
532         _dl_lookup_symbol_x not _dl_lookup_symbol.
533
534         * sysdeps/powerpc/elf/rtld-global-offsets.sym: Adjust for moving
535         _dl_hwcap into _rtld_global_ro.
536         * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
537         * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
538         * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise.
539         * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
540         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
541         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
542         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
543         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
544         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
545         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
546
547 2004-03-07  Andreas Schwab  <schwab@suse.de>
548
549         * elf/dl-sym.c: Include <dl-tls.h> only when USE_TLS.
550
551 2004-03-07  Andreas Jaeger  <aj@suse.de>
552
553         * iconvdata/iso-2022-cn-ext.c (BODY): Remove cast used as lvalue.
554         * iconvdata/tcvn5712-1.c (EMIT_SHIFT_TO_INIT): Likewise.
555         * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise.
556         * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise.
557         * iconvdata/tscii.c (EMIT_SHIFT_TO_INIT): Likewise.
558
559 2004-03-07  Ulrich Drepper  <drepper@redhat.com>
560
561         * sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist,
562         _dl_hp_timing_overhead, _dl_init_all_dirs, and the content of
563         dl-procinfo.c from _rtld_global to _rtld_global_ro.
564         * elf/rtld.c: Adjust initializer for _rtld_global_ro.
565         * elf/dl-close.c: Use GLRO instead of GL where appropriate.
566         * elf/dl-libc.c: Likewise.
567         * elf/dl-load.c: Likewise.
568         * sysdeps/i386/dl-procinfo.h: Likewise.
569         * sysdeps/i386/i686/hp-timing.h: Likewise.
570         * sysdeps/ia64/hp-timing.h: Likewise.
571         * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
572         * sysdeps/sparc/sparc64/hp-timing.h: Likewise.
573         * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
574         * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
575         * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise.
576         * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
577         * string/test-string.h: Define GLRO.
578
579 2004-03-06  Ulrich Drepper  <drepper@redhat.com>
580
581         * elf/dl-lookup.c: We don't need for specialized lookup functions.
582         Combining the functionality does not slow down relocation processing,
583         it might even speed it up a little.
584         * sysdeps/generic/ldsodefs.h: Adjust prototypes for lookup function.
585         Add only one function pointer to rtlf_global_ro.
586         * elf/do-lookup.h: Replace #ifs with ifs.
587         * elf/dl-libc.c: Adjust _dl_lookup_* callers.
588         * elf/dl-reloc.c: Likewise.
589         * elf/dl-runtime.c: Likewise.
590         * elf/dl-sym.c: Likewise.
591         * elf/rtld.c: Likewise.  Adjust _rtld_global_ro initialization.
592
593 2004-03-06  Richard Henderson  <rth@redhat.com>
594
595         * sysdeps/generic/ldsodefs.h (__rtld_local_attribute__,
596         __rtld_global_attribute__): Undef after use.
597         (_rtld_local_ro): Define __rtld_local_attribute__ with just hidden
598         if available.
599
600         * soft-fp/quad.h (union _FP_UNION_Q): Add longs structure.
601         * sysdeps/alpha/Implies: Add alpha/soft-fp.
602         * sysdeps/alpha/soft-fp/sfp-machine.h: Rewrite for GEM interface.
603         * sysdeps/alpha/Subdirs: New file.
604         * sysdeps/alpha/soft-fp/Makefile: New file.
605         * sysdeps/alpha/soft-fp/Versions: New file.
606         * sysdeps/alpha/soft-fp/local-soft-fp.h: New file.
607         * sysdeps/alpha/soft-fp/ots_add.c: New file.
608         * sysdeps/alpha/soft-fp/ots_cmp.c: new file.
609         * sysdeps/alpha/soft-fp/ots_cmpe.c: New file.
610         * sysdeps/alpha/soft-fp/ots_cvtqux.c: New file.
611         * sysdeps/alpha/soft-fp/ots_cvtqx.c: New file.
612         * sysdeps/alpha/soft-fp/ots_cvttx.c: New file.
613         * sysdeps/alpha/soft-fp/ots_cvtxq.c: New file.
614         * sysdeps/alpha/soft-fp/ots_cvtxt.c: New file.
615         * sysdeps/alpha/soft-fp/ots_div.c: New file.
616         * sysdeps/alpha/soft-fp/ots_mul.c: New file.
617         * sysdeps/alpha/soft-fp/ots_nintxq.c: New file.
618         * sysdeps/alpha/soft-fp/ots_sub.c: New file.
619
620 2004-03-06  Ulrich Drepper  <drepper@redhat.com>
621
622         * configure.in: Recognize --enable-bind-now.
623         * elf/dynamic-link.h (elf_get_dynamic_info): Allow bind-now flags
624         in ld.so.
625         * Makerules (LDFLAGS-c.so): Add -z now if so configured.
626         * elf/Makefile ($(objpfx)ld.so): Likewise.
627         * config.make.in (bind-now): New definition.
628
629         * elf/dl-fini.c (_dl_fini): Combine _dl_debug_printf calls.
630         * elf/rtld.c (print_statistics): Likewise.
631
632         * elf/dl-open.c: No need to pass any parameter to _dl_start_profile.
633         They are the same in both places.
634         * elf/dl-profile.c: Likewise.
635         * elf/rtld.c: Likewise.
636         * sysdeps/generic/ldsodefs.h: Likewise.
637         * elf/dl-support.c: Define _dl_profile_output variable.  Initialize it.
638
639 2004-03-05  Ulrich Drepper  <drepper@redhat.com>
640
641         * elf/Versions: Remove functions which are not exported anymore.
642         * dlfcn/dlerror.c: Call ld.so functions through GLSO.
643         * dlfcn/dlinfo.c: Likewise.
644         * elf/dl-close.c: Likewise.
645         * elf/dl-libc.c: Likewise.
646         * elf/dl-open.c: Likewise.
647         * elf/dl-sym.c: Likewise.
648         * sysdeps/generic/libc-start.c: Likewise.
649         * elf/dl-debug.c: Remove *_internal definition.  Don't use INTUSE for
650         functions which are not exported anymore.
651         * elf/dl-deps.c: Likewise.
652         * elf/dl-dst.h: Likewise.
653         * elf/dl-error.c: Likewise.
654         * elf/dl-fini.c: Likewise.
655         * elf/dl-init.c: Likewise.
656         * elf/dl-load.c: Likewise.
657         * elf/dl-lookup.c: Likewise.
658         * elf/dl-misc.c: Likewise.
659         * elf/dl-profile.c: Likewise.
660         * elf/dl-profstub.c: Likewise.
661         * elf/dl-reloc.c: Likewise.
662         * elf/dl-runtime.c: Likewise.
663         * elf/dl-version.c: Likewise.
664         * elf/do-lookup.h: Likewise.
665         * include/dlfcn.h: Likewise.
666         * sysdeps/generic/dl-cache.c: Likewise.
667         * sysdeps/generic/dl-fptr.c: Likewise.
668         * sysdeps/generic/dl-origin.c: Likewise.
669         * sysdeps/generic/dl-sysdep.c: Likewise.
670         * sysdeps/generic/dl-tls.c: Likewise.
671         * sysdeps/generic/ldsodefs.h: Likewise.
672         * sysdeps/i386/dl-tls.h: Likewise.
673         * sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
674         * elf/rtld.c: Likewise.  Export function though _rtld_global_ro.
675
676         * sysdeps/generic/ldsodefs.h (struct rtld_global): Move
677         dl_debug_fd to rtld_global_ro.
678         * elf/rtld.c: Use GLRO instead of GL for dl_debug_fd.
679         * elf/dl-misc.c: Likewise.
680
681         * malloc/malloc.c: Don't call exported interface in the implementation.
682
683         * include/wctype.h: Add libc_hidden_proto for __towctrans.
684         * wctype/towctrans.c: Add libc_hidden_def.
685
686         * libio/memstream.c (open_memstream): Use _IO_init with INTUSE.
687
688         * posix/regexec.c (transit_state): Remove unused variable
689         next_state.
690
691         * posix/regcomp.c (init_dfa): Use __btowc instead of btowc.
692
693         * sysdeps/generic/ldsodefs.h: Define new structure rtld_global_ro.
694         Declare _rtld_global_ro and _rtld_local_ro.  Move members of
695         rtld_global structure into the new one if they are modified only
696         at startup time.  Define GLRO to access _rtld_global_ro.
697         * elf/Versions: Export _rtld_global_ro.
698         * elf/dl-close.c: Use GLRO instead of GL where appropriate.
699         * elf/dl-conflict.c: Likewise.
700         * elf/dl-deps.c: Likewise.
701         * elf/dl-dst.h: Likewise.
702         * elf/dl-error.c: Likewise.
703         * elf/dl-fini.c: Likewise.
704         * elf/dl-init.c: Likewise.
705         * elf/dl-load.c: Likewise.
706         * elf/dl-lookup.c: Likewise.
707         * elf/dl-minimal.c: Likewise.
708         * elf/dl-open.c: Likewise.
709         * elf/dl-profile.c: Likewise.
710         * elf/dl-reloc.c: Likewise.
711         * elf/dl-runtime.c: Likewise.
712         * elf/dl-support.c: Likewise.
713         * elf/dl-version.c: Likewise.
714         * elf/do-lookup.h: Likewise.
715         * elf/rtld.c: Likewise.
716         * sysdeps/generic/dl-cache.c: Likewise.
717         * sysdeps/generic/dl-origin.c: Likewise.
718         * sysdeps/generic/dl-sysdep.c: Likewise.
719         * sysdeps/generic/libc-start.c: Likewise.
720         * sysdeps/generic/dl-cache.c: Likewise.
721         * sysdeps/i386/dl-machine.h: Likewise.
722         * sysdeps/i386/setfpucw.c: Likewise.
723         * sysdeps/i386/fpu/fclrexcpt.c: Likewise.
724         * sysdeps/i386/fpu/fedisblexcpt.c: Likewise.
725         * sysdeps/i386/fpu/feenablxcpt.c: Likewise.
726         * sysdeps/i386/fpu/feholdexcpt.c: Likewise.
727         * sysdeps/i386/fpu/fesetround.c: Likewise.
728         * sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
729         * sysdeps/i386/fpu/ftestexcept.c: Likewise.
730         * sysdeps/unix/sysv/linux/dl-execstat.c: Likewise.
731         * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
732         * sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
733         * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
734         * sysdeps/unix/sysv/linux/getclktck.c: Likewise.
735         * sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
736         * sysdeps/unix/sysv/linux/init-first.c: Likewise.
737         * sysdeps/unix/sysv/linux/prof-freq.c: Likewise.
738         * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
739         * sysdeps/unix/sysv/linux/i386/sigaction.h: Likewise.
740         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
741         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
742         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
743         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
744         * sysdeps/x86_64/dl-machine.h: Likewise.
745         * sysdeps/sparc/sparc64/dl-machine.h: Likewise.
746         * sysdeps/sparc/sparc32/dl-machine.h: Likewise.
747         * sysdeps/s390/s390-64/dl-machine.h: Likewise.
748         * sysdeps/s390/s390-32/dl-machine.h: Likewise.
749         * sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
750         * sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
751         * sysdeps/m68k/dl-machine.h: Likewise.
752         * sysdeps/ia64/dl-machine.h: Likewise.
753         * sysdeps/arm/dl-machine.h: Likewise.
754         * sysdeps/alpha/dl-machine.h: Likewise.
755         * generic/dl-fptr.c: Likewise.
756         * mach/hurd/dl-sysdep.c: Likewise.
757         * unix/sysv/linux/ia64/dl-static.c: Likewise.
758         * unix/sysv/linux/ia64/getpagesize.c: Likewise.
759         * unix/sysv/linux/m68k/getpagesize.c: Likewise.
760         * unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
761
762 2004-03-04  Ulrich Drepper  <drepper@redhat.com>
763
764         * sysdeps/generic/ldsodefs.h: Don't define _dl_name_match_p as inline.
765         * elf/dl-misc.c: Define _dl_name_match_p here.
766         * elf/dl-open.c (check_libc_caller): Don't use _dl_name_match_p.
767
768         * elf/dl-open.c (dl_open_worker): Check that _dl_open is called
769         from the right place.
770
771 2004-01-15  Paolo Bonzini  <bonzini@gnu.org>
772
773         * posix/regex.h (REG_STARTEND): Define.
774         * posix/regexec.c (regexec): Check for REG_STARTEND.
775
776 2004-02-29  Paolo Bonzini  <bonzini@gnu.org>
777
778         * posix/regexec.c (transit_state): Don't handle state == NULL.
779         Move state log and backreference management...
780         (merge_state_with_log): ... to this function.
781         (find_recover_state): New function.
782         (check_matching): Use find_recover_state to get a non-NULL
783         state when an invalid state is reached.  Compute the amount
784         of initial characters to be skipped less conservatively when
785         multi-byte character sets are in use.  Do not check
786         dfa->nbackref if the state log is NULL.  Initialize err.
787         (acquire_init_state_context): Expect err to be initialized.
788         Fix spacing.
789
790 2004-03-05  Jakub Jelinek  <jakub@redhat.com>
791
792         * sysdeps/sparc/sparc32/elf/start.S: Handle PIEs.
793         * sysdeps/sparc/sparc64/elf/start.S: Likewise.
794
795 2004-03-04  Jakub Jelinek  <jakub@redhat.com>
796
797         * iconv/iconv_prog.c (process_block): Handle omit_invalid.
798         If iconv returns EILSEQ with omit_invalid, continue converting
799         and return 1 if no other errors are seen.
800         (main): Set status to EXIT_FAILURE whenever process_* returns
801         nonzero, but only stop processing further files if iy returns
802         negative value.
803
804 2004-03-03  Jakub Jelinek  <jakub@redhat.com>
805
806         * sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: New file.
807         * sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: New file.
808         * sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64):
809         Remove.
810         * sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: New file.
811         * sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: New file.
812         * sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64):
813         Remove.
814         * sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: New file.
815         * sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: New file.
816         * sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64):
817         Remove.
818         * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: New file.
819         * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: New
820         file.
821         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Removed.
822         * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: New file.
823         * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: New file.
824         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
825         (posix_fadvise64): Remove.
826         * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: New file.
827         * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: New file.
828         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
829         (posix_fadvise64): Remove.
830
831 2004-03-02  Andreas Schwab  <schwab@suse.de>
832
833         * sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c: New file.
834         * sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c: New file.
835         * sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c: New file.
836
837 2004-03-01  Ulrich Drepper  <drepper@redhat.com>
838
839         * nscd/nscd_getgr_r.c (nscd_getgr_r): Add missing initialization
840         of return value.
841         * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
842
843         * sysdeps/unix/sysv/linux/kernel-features.h: Add support for
844         __ASSUME_GETDENTS32_D_TYPE.
845         * sysdeps/unix/sysv/linux/getdents.c: For 2.6.4+ kernels use
846         getdents syscall again since it provides d_type information.
847
848 2004-02-29  Andreas Jaeger  <aj@suse.de>
849
850         * manual/install.texi (Tools for Compilation): Autoconf 2.53 is
851         required.
852         (Supported Configurations): Add x86_64-*-linux.
853
854 2004-02-28  Ulrich Drepper  <drepper@redhat.com>
855
856         * sysdeps/i386/i686/memcmp.S: Move table to .rodata.  Patch by HJ Lu.
857
858 2004-02-27  Jakub Jelinek  <jakub@redhat.com>
859
860         * elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr.
861         * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Only set
862         GL(dl_sysinfo) if non-zero.
863
864         * sysdeps/unix/sysv/linux/sysconf.c: Include stdlib.h.
865
866 2004-02-26  Ulrich Drepper  <drepper@redhat.com>
867
868         * nss/getXXbyYY_r.c: Pass result also to the nscd_* function.  Don't
869         set *result here.
870         * nscd/nscd_proto.h: Add new argument for pointer to result pointer
871         to all nscd_* functions.
872         * nscd/nscd_getgr_r.c (nscd_getgr_r): Add new parameter.  Store result
873         pointer in the address provided by the new parameter if successful.
874         Otherwise store NULL.  Return zero if no entry found.
875         (__nscd_getgrnam_r, __nscd_getgrgid_r): Add new parameter and pass
876         it on.
877         * nscd/nscd_gethst_r.c (nscd_gethst_r): Add new parameter.  Store
878         result pointer in the address provided by the new parameter if
879         successful. Otherwise store NULL.  Return zero if no entry found.
880         (__nscd_gethostbyname_r, __nscd_gethostbyname2_r,
881         __nscd_gethostbyaddr_r): Add new parameter and pass it on.
882         * nscd/nscd_getpw_r.c (nscd_getpw_r): Add new parameter.  Store result
883         pointer in the address provided by the new parameter if successful.
884         Otherwise store NULL.  Return zero if no entry found.
885         (__nscd_getpwnam_r, __nscd_getpwuid_r): Add new parameter and pass
886         it on.
887
888 2004-02-26  Jakub Jelinek  <jakub@redhat.com>
889
890         * sysdeps/unix/sysv/linux/clock_settime.c (SYSDEP_SETTIME): Set
891         retval to -1 on error.
892
893 2004-02-26  Ulrich Drepper  <drepper@redhat.com>
894
895         * stdlib/canonicalize.c (__realpath): Simplify.
896
897         * posix/regcomp.c (parse_expression): Avoid duplication in calls
898         to build_charclass_op.
899
900 2004-02-26  Jakub Jelinek  <jakub@redhat.com>
901
902         * elf/rtld.c (dl_main): Correctly set up l_map_end and l_addr
903         in vDSO's link_map, don't assume l_addr == 0.  Set GL(dl_sysinfo)
904         from e_entry only if AT_SYSINFO not present and adjust by l_addr.
905         Take vDSO into account when inserting rtld into _dl_loaded chain.
906
907 2004-02-26  Ulrich Drepper  <drepper@redhat.com>
908
909         * sunrpc/svcauth_des.c (authdes_getucred): Removed fixed limit on
910         number of groups in the cache.  Relax the disconnect between the
911         interface of authdes_getucred and netname2user a bit.
912         * sunrpc/auth_unix.c (authunix_create_default): Don't allocate
913         huge arrays on the stack.
914
915         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Use the official
916         not cancelable interfaces.
917
918 2004-02-24  Arnold D. Robbins  <arnold@skeeve.com>
919
920         * posix/regex_internal.c (build_wcs_upper_buffer): Enclose
921         `offsets_needed' label in `#ifdef _LIBC' to silence `unused label'
922         compiler warning.
923
924 2004-02-24  Nelson H.F. Beebe  <beebe@math.utah.edu>
925
926         * posix/regcomp.c (parse_expression): Add cast to (const unsigned
927         char *) in calls to `build_charclass_op'.
928         * posix/regex_internal.c (build_wcs_buffer): Add cast to char* in call
929         to `wcrtomb'.
930         * posix/regex_internal.h (bitset_not, bitset_merge, bitset_not_merge,
931         bitset_mask, re_string_char_size_a, re_string_wchar_at,
932         re_string_elem_size_at): Change to use prototypes.
933         (re_string_char_size_at, re_string_wchar_at,
934         re_string_elem_size_at): Declare as `internal_function'.
935
936 2004-02-25  Ulrich Drepper  <drepper@redhat.com>
937
938         * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Handle
939         _SC_NGROUPS_MAX.
940
941 2004-02-23  Jakub Jelinek  <jakub@redhat.com>
942
943         * wcsmbs/mbrtowc.c (__mbrtowc): Cap s + n at the end of address space.
944         * stdlib/Makefile (tests): Add testmb2.
945         (testmb2-ENV): New.
946         * stdlib/testmb2.c: New test.
947
948 2004-02-23  Jakub Jelinek  <jakub@redhat.com>
949
950         * sysdeps/posix/getaddrinfo.c (gaih_inet): If _res has not been
951         inited yet, try to init it before saving old _res.options.
952         * posix/Makefile (xtests): Add bug-ga2.
953         (generated): Add bug-ga2.mtrace and bug-ga2-mem.
954         (xtests): Depend on bug-ga2-mem.
955         ($(objpfx)bug-ga2-mem, bug-ga2-ENV): New.
956         * posix/bug-ga2.c: New test.
957
958 2004-02-22  Ulrich Drepper  <drepper@redhat.com>
959
960         * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Pop register
961         content also in case of an overflow in the parameter.
962         Reported by Momchil Velikov <velco@fadata.bg>.
963
964 2004-02-21  Ulrich Drepper  <drepper@redhat.com>
965
966         * elf/dynamic-link.h (elf_get_dynamic_info): Recognize DF_1_NOW.
967         In ld.so, neither DT_FLAGS nor DT_FLAGS_1 must be used.
968
969 2004-02-21  Andreas Jaeger  <aj@suse.de>
970
971         * posix/bug-ga1.c: Include <string.h> for memset prototype.
972
973         * elf/dl-load.c (_dl_map_object_from_fd): Fix casts used as lvalue.
974
975         * iconv/gconv_simple.c (internal_ucs4le_loop): Remove cast used as
976         lvalue.
977
978 2004-02-19  Carlos O'Donell  <carlos@baldric.uwo.ca>
979
980         * sysdeps/generic/framestate.c [__USING_SJLJ_EXCEPTIONS__]
981         (__frame_state_for): Set frame_State_for to abort if the compiler
982         is using sjlj.
983         * sysdeps/generic/unwind-dw2.c: Allow sjlj enabled compilers to
984         build the code by removing __USING_SJLJ_EXCEPTIONS__ wrapper.
985
986 2004-02-20  Alexandre Oliva  <aoliva@redhat.com>
987
988         * resolv/Versions: Remove semicolon from the end of libresolv's
989         GLIBC_2.3.2 version block.
990         * Versions.def (libresolv): Add GLIBC_2.3.2.
991
992 2004-02-19  Carlos O'Donell  <carlos@baldric.uwo.ca>
993
994         * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Fix order of fp
995         status register loads.
996
997 2004-02-20  Thorsten Kukuk  <kukuk@suse.de>
998
999         * nscd/nscd.c (termination_handler): Use _exit instead of exit
1000
1001 2004-02-20  Ulrich Drepper  <drepper@redhat.com>
1002
1003         * nscd/nscd.c (main): Report fork errors.
1004
1005         * dlfcn/dlsym.c: Get ld.so loading lock before the call into ld.so.
1006         * dlfcn/dlvsym.c: Likewise.
1007         * elf/dl-addr.c: Get loading lock while using _dl_loaded data.
1008         * elf/dl-fini.c: Likewise.
1009         Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
1010
1011 2004-02-20  Jakub Jelinek  <jakub@redhat.com>
1012
1013         * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the
1014         2003-11-27 atan2 test.
1015
1016         * sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Protect
1017         with #ifndef __powerpc64__.
1018
1019         * sysdeps/generic/ldsodefs.h (_dl_argv, _dl_argv_internal): If
1020         DL_ARGV_NOT_RELRO defined, don't use attribute_relro.
1021         * sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1022         * sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1023         * sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1024         * sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove.
1025         * sysdeps/alpha/dl-sysdep.h: New file.
1026         * sysdeps/ia64/dl-sysdep.h: New file.
1027         * sysdeps/sparc/dl-sysdep.h: New file.
1028
1029 2004-02-19  Jakub Jelinek  <jakub@redhat.com>
1030
1031         * sysdeps/sparc/sparc32/bits/atomic.h: Add __make_section_unallocated
1032         for .gnu.linkonce.b.__sparc32_atomic_locks section.
1033         (__sparc32_atomic_locks): Add __sec_comment at the end of section name.
1034
1035 2004-02-19  Steven Munroe  <sjmunroe@us.ibm.com>
1036
1037         * sysdeps/generic/libc-start.c [LIBC_START_DISABLE_INLINE] (STATIC):
1038         Define as static.
1039         * sysdeps/powerpc/elf/libc-start.c: Define LIBC_START_DISABLE_INLINE
1040         because gcc does not allow inline of functions that call setjmp.
1041
1042 2004-02-19  Steven Munroe  <sjmunroe@us.ibm.com>
1043
1044         * sysdeps/powerpc/powerpc64/Makefile: Use -finline-limit.
1045
1046 2004-02-19  Jakub Jelinek  <jakub@redhat.com>
1047
1048         * elf/rtld.c (_dl_argv): If DL_ARGV_NOT_RELRO defined, don't
1049         use attribute_relro for _dl_argv.
1050         * sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1051         * sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1052         * sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1053         * sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
1054
1055 2004-02-19  Ulrich Drepper  <drepper@redhat.com>
1056
1057         * libio/iopopen.c (_IO_new_proc_open): It's not kosher to use
1058         vfork instead of fork.
1059         * libio/oldiopopen.c (_IO_old_proc_open): Likewise.
1060
1061         * sysdeps/unix/clock_settime.c (clock_settime): Fix typo which
1062         prevented system-dependent handling from being used.
1063
1064 2004-02-18  Carlos O'Donell  <carlos@baldric.uwo.ca>
1065
1066         * test-skeleton.c (main): If set, use environment variable
1067         TIMEOUTFACTOR to scale test TIMEOUT.
1068
1069 2004-02-18  Ulrich Drepper  <drepper@redhat.com>
1070
1071         * nscd/nscd_conf.c: Include <stdio_ext.h>.
1072
1073 2004-02-16  Ulrich Drepper  <drepper@redhat.com>
1074
1075         * stdlib/test-canon.c (do_test): Test realpath(,NULL) in the loop
1076         as well.
1077
1078         * stdlib/canonicalize.c (__realpath): Remove unnecessary copy
1079         operations.
1080
1081         * nscd/nscd_conf.c (nscd_parse_file): Little optimization.
1082
1083 2004-02-14  Thorsten Kukuk  <kukuk@suse.de>
1084
1085         * nscd/dbg_log.c (set_logfile): Only save name of logfile,
1086         don't open it.
1087         (init_logfile): New function, open logfile if requested.
1088         * nscd/dbg_log.h: Adjust protoype for set_logfile, add init_logfile.
1089         * nscd/nscd.c (main): Call init_logfile after forking in background.
1090         * nscd/nscd_conf.c (nscd_parse_file): Adjust for new set_logfile.
1091
1092 2004-02-16  Ulrich Drepper  <drepper@redhat.com>
1093
1094         * elf/rtld.c (dl_main): Don't fail execution if file named in
1095         ld.so.preload is not present [BZ #18].
1096
1097         * sysdeps/posix/getaddrinfo.c (getaddrinfo): Undo unintended
1098         changes in last patch.
1099
1100         * posix/regexec.c (transit_state): Fix typo in commented-out code
1101         [BZ #6].
1102
1103         * sysdeps/posix/getaddrinfo.c (match_prefix): Correctly match
1104         partial bytes [BZ #24].
1105         * posix/Makefile (tests): Add bug-ga1.
1106         * posix/bug-ga1.c: New file.
1107
1108 2004-02-13  Steven Munroe  <sjmunroe@us.ibm.com>
1109
1110         * sysdeps/powerpc/powerpc64/__longjmp-common.S: New file.
1111         * sysdeps/powerpc/powerpc64/__longjmp.S [NOT_IN_libc](__longjmp):
1112         Non-versioned __longjmp for rtld-__longjmp.
1113         [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
1114         default version of __longjmp.
1115         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
1116         (__novmx__longjmp): Original version of __longjmp.
1117         * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
1118         Non-versioned _setjmp for rtld-_setjmp.
1119         [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
1120         as default version of _setjmp.
1121         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
1122         (__novmx_setjmp): Original version of _setjmp.
1123         * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__vmxsetjmp): Branch to
1124         __vmx__sigsetjmp and define as default version of setjmp.
1125         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
1126         (__novmxsetjmp): Original version of setjmp.
1127         * sysdeps/powerpc/powerpc64/setjmp-common.S: New file.
1128         * sysdeps/powerpc/powerpc64/setjmp.S [NOT_IN_libc](__setjmp):
1129         Non-versioned __sigsetjmp for rtld-setjmp.
1130         [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
1131         as default version of __sigsetjmp.
1132         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
1133         (__novmx__sigsetjmp): Original version of __sigsetjmp.
1134
1135         * sysdeps/powerpc/powerpc32/__longjmp-common.S: New File
1136         * sysdeps/powerpc/powerpc32/__longjmp.S [NOT_IN_libc](__longjmp):
1137         Non-versioned __longjmp for rtld-__longjmp.
1138         [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
1139         default version of __longjmp.
1140         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
1141         (__novmx__longjmp): Original version of __longjmp.
1142         * sysdeps/powerpc/powerpc32/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
1143         Non-versioned _setjmp for rtld-_setjmp.
1144         [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
1145         as default version of _setjmp.
1146         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
1147         (__novmx_setjmp): Original version of _setjmp.
1148         * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__vmxsetjmp): Branch to
1149         __vmx__sigsetjmp and define as default version of setjmp.
1150         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
1151         (__novmxsetjmp): Original version of setjmp.
1152         * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: New file.
1153         * sysdeps/powerpc/powerpc32/fpu/__longjmp.S [NOT_IN_libc](__longjmp):
1154         Non-versioned __longjmp for rtld-__longjmp.
1155         [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
1156         default version of __longjmp.
1157         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
1158         (__novmx__longjmp): Original version of __longjmp.
1159         * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: New file.
1160         * sysdeps/powerpc/powerpc32/fpu/setjmp.S [NOT_IN_libc](__setjmp):
1161         Non-versioned __sigsetjmp for rtld-setjmp.
1162         [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
1163         as default version of __sigsetjmp.
1164         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
1165         (__novmx__sigsetjmp): Original version of __sigsetjmp.
1166         * sysdeps/powerpc/powerpc32/setjmp-common.S: New file.
1167         * sysdeps/powerpc/powerpc32/setjmp.S [NOT_IN_libc](__setjmp):
1168         Non-versioned __sigsetjmp for rtld-setjmp.
1169         [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
1170         as default version of __sigsetjmp.
1171         [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
1172         (__novmx__sigsetjmp): Original version of __sigsetjmp.
1173
1174         * sysdeps/powerpc/Dist: New File.
1175         * sysdeps/powerpc/Makefile (sysdep_routines): Add novmx-longjmp.c
1176         and novmx-sigjmp.c
1177         * sysdeps/powerpc/Versions (libc): To GLIBC_2.3_4 add _longjmp,
1178         __sigsetjmp, _setjmp, longjmp, and setjmp. To GLIBC_PRIVATE add
1179         __novmx__libc_longjmp, __novmx__libc_siglongjmp, __vmx__libc_longjmp,
1180         and __vmx__libc_siglongjmp.
1181         * sysdeps/powerpc/bits/setjmp.h: Define JB_VRSAVE, JB_VRS, and adjust
1182         JB_SIZE to add VMX regs to __jmp_buf.
1183         * sysdeps/powerpc/longjmp.c: New file.
1184         * sysdeps/powerpc/novmxsetjmp.h: New file.
1185         * sysdeps/powerpc/novmx-longjmp.c: New file.
1186         * sysdeps/powerpc/novmx-sigjmp.c: New file.
1187         * sysdeps/powerpc/sigjmp.c: New file.
1188
1189 2004-02-13  Jakub Jelinek  <jakub@redhat.com>
1190
1191         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c (__lrintf, lrintf):
1192         Define.
1193         (__lrintl, lrintl): Remove.
1194         * sysdeps/powerpc/powerpc64/fpu/s_llrint.c (__lrint): Fix a typo in
1195         strong_alias spelling.
1196         * sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: Remove.
1197         * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: New file.
1198
1199 2004-02-12  Ulrich Drepper  <drepper@redhat.com>
1200
1201         * posix/getopt.h: Add some non-gcc support.  Patch by Aharon Robbins.
1202
1203 2004-02-12  Mark Brown  <bmark@us.ibm.com>
1204
1205         * sysdeps/ia64/fpu/e_fmodf.S: Added text of Intel license.
1206
1207 2004-02-12  Jakub Jelinek  <jakub@redhat.com>
1208
1209         * sysdeps/powerpc/fpu/s_lrint.c: Move to...
1210         * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: ... here.
1211         * sysdeps/powerpc/fpu/s_llrint.c: Move to...
1212         * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: ... here.
1213         * sysdeps/powerpc/fpu/s_llrintf.c: Move to...
1214         * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: ... here.
1215         * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file.
1216         * sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: New file.
1217         * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: New file.
1218
1219         * math/libm-test.inc (lrint_test): Add new test.
1220         (llrint_test, lround_test, llround_test): Likewise.
1221         * sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Fix special case
1222         with result taking up 48 bits.
1223         * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise.
1224         * sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise.
1225         * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Fix special case
1226         with result taking up 31 bits.
1227
1228 2004-02-12  Ulrich Drepper  <drepper@redhat.com>
1229
1230         * locale/programs/locale.c (show_locale_vars): Don't print a value
1231         for LANG if it is not set.
1232
1233 2004-02-11  Jakub Jelinek  <jakub@redhat.com>
1234
1235         * posix/regexec.c (check_node_accept_bytes): Return 0 if char_len is 0.
1236         (find_collation_sequence_value): Don't look beyond end of
1237         SYMB_EXTRAMB table.
1238         * posix/Makefile (tests): Add bug-regex23.
1239         (bug-regex23-ENV): New.
1240         * posix/bug-regex23.c: New file.
1241
1242 2004-02-10  Roland McGrath  <roland@frob.com>
1243
1244         * sysdeps/mach/hurd/times.c (__times): Use union instead of cast.
1245         * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Likewise.
1246
1247         * sysdeps/mach/hurd/configure.in: Move `retcode' check to ...
1248         * sysdeps/mach/configure.in: ... here.
1249         * sysdeps/mach/hurd/configure: Regenerated.
1250         * sysdeps/mach/configure.in: Regenerated.
1251
1252 2004-02-10  Ulrich Drepper  <drepper@redhat.com>
1253
1254         * sysdeps/generic/setenv.c (__add_to_environ): Don't let the
1255         temporary copies of the variables accumulate on the stack.
1256
1257         * stdio-common/_i18n_number.h: Finish last patch.
1258
1259 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
1260
1261         * sysdeps/i386/i686/memcmp.S: New file.  Patch by HJ Lu.
1262
1263 2003-12-05  Roland McGrath  <roland@redhat.com>
1264
1265         * sysdeps/unix/sysv/linux/i386/syscalls.list: Turn vm86 into vm86old
1266         for vm86@GLIBC_2.0 version.  Add new vm86@GLIBC_2.3.4.
1267         * sysdeps/unix/sysv/linux/i386/Versions (libc: GLIBC_2.3.4): Add vm86.
1268         * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Update vm86 prototype.
1269
1270 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
1271
1272         * nis/ypclnt.c: Cleanup last patch.
1273
1274 2004-02-09  Andreas Jaeger  <aj@suse.de>
1275
1276         * configure.in: Remove glibcbug creation.
1277         * configure: Regenerated.
1278
1279         * sysdeps/x86_64/fpu/s_copysignf.S: Only load 4 bytes.
1280
1281 2004-02-03  Thorsten Kukuk  <kukuk@suse.de>
1282
1283         * nis/ypclnt.c (__yp_bind_client_create): New, small chunk
1284         of duplicated code from __yp_bind.
1285         (__yp_bind_file): New, binding dir code from __yp_bind.
1286         (__yp_bind_client_create): New, ypbind code from __yp_bind.
1287         (__ypclnt_call): New, make NIS query.
1288         (do_ypcall): At first use cached data, then try data from
1289         binding directory, after this ask ypbind for a working ypserv.
1290         Based on a patch from Jeff Bastian <jmbastia@ti.com> and
1291         Chris Barrera <cbarrera@ti.com>
1292
1293 2004-01-19  Roland McGrath  <roland@redhat.com>
1294
1295         * configure.in: Don't set CCVERSION.
1296         * configure: Regenerated.
1297         * glibcbug.in: File removed.
1298         * Makefile (install-bin-script): Remove glibcbug.
1299         (glibcbug): Target removed.
1300         (distclean-1): Don't rm glibcbug.
1301         (distribute): Remove glibcbug.in.
1302
1303 2004-02-09  Roland McGrath  <roland@redhat.com>
1304
1305         * time/tzset.c (tzset_internal): Cap hour in POSIX $TZ rule format to
1306         24, not 23.
1307
1308 2004-01-29  Roland McGrath  <roland@redhat.com>
1309
1310         * io/ftwtest-sh: Use $tmp consistently, not literal /tmp.
1311         Reported by Kevin P. Fleming <kpfleming@backtobasicsmgmt.com>.
1312
1313 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
1314
1315         * libio/genops.c (_IO_cleanup): Do not use locking when flushing
1316         the buffers.  Some thread might be using a stream.
1317
1318 2004-02-09  Andreas Jaeger  <aj@suse.de>
1319
1320         * sysdeps/x86_64/memcpy.S: Fix alignment [BZ #7].
1321         Patch by Jan Beulich <jbeulich@novell.com>.
1322
1323 2004-02-09  Andreas Schwab  <schwab@suse.de>
1324
1325         * include/rpc/rpc.h: Declare thread variables with their correct type.
1326         * sunrpc/clnt_perr.c: Don't cast thread variables.
1327         * sunrpc/clnt_raw.c: Likewise.
1328         * sunrpc/clnt_simp.c: Likewise.
1329         * sunrpc/key_call.c: Likewise.
1330         * sunrpc/svcauth_des.c: Likewise.
1331         * sunrpc/svc.c: Likewise.
1332         * sunrpc/svc_raw.c: Likewise.
1333         * sunrpc/svc_simple.c: Likewise.
1334
1335 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
1336
1337         * stdio-common/_i18n_number.h: Support printing localized decimal
1338         point and thousand separator.
1339         * wctype/wctrans.c: Add __wctrans alias.
1340         * include/wctype.h: Declare __wctrans.
1341         Based on a patch by Hamed Malek.
1342
1343         * sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Don't touch bits
1344         other than the status bits [BZ #10].
1345
1346 2004-02-08  Ulrich Drepper  <drepper@redhat.com>
1347
1348         Make stream locking operations really work.
1349         * misc/Makefile (CFLAGS-mntent_r.c): Define.
1350         * shadow/Makefile (CFLAGS-fgetspent_r.c): Define.
1351         (CFLAGS-putspent.c): Define.
1352         * grp/Makefile (CFLAGS-fgetgrent_r.c): Define.
1353         (CFLAGS-putgrent.c): Define.
1354         * pwd/Makefile (CFLAGS-fgetpwent_r.c): Define.
1355         Reported by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>.
1356
1357         * elf/dl-load.c (lose): Use noinline attribute instead of silly
1358         alloca to prevent inlining.
1359         * elf/dl-runtime.c (fixup): Likewise.
1360         (profile_fixup): Likewise.
1361
1362         * stdio-common/printf_size.c: Undo parts of patch from 2000-2-11.
1363         Initialize width correctly.
1364
1365 2004-02-07  Andreas Jaeger  <aj@suse.de>
1366
1367         * iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as
1368         lvalue.
1369         (internal_ucs4le_loop_single): Likewise.
1370         (ucs4_internal_loop): Likewise.
1371         (BODY): Likewise.
1372         (internal_ucs4_loop_single): Likewise.
1373         * iconvdata/iso8859-1.c (BODY): Likewise.
1374         * iconvdata/cp1255.c (EMIT_SHIFT_TO_INIT): Likewise.
1375         * iconvdata/cp1258.c (EMIT_SHIFT_TO_INIT): Likewise.
1376         * iconvdata/gb18030.c (BODY): Likewise.
1377         * iconvdata/armscii-8.c (BODY): Likewise.
1378         * stdlib/msort.c (msort_with_tmp): Likewise.
1379
1380         * iconv/gconv_open.c (__gconv_open): Remove conditional expression
1381         as lvalue.
1382
1383 2004-02-06  Steven Munroe  <sjmunroe@us.ibm.com>
1384
1385         * sysdeps/powerpc/powerpc32/dl-machine.c: Declare __cache_line_size as
1386         weak extern.
1387         (__elf_machine_runtime_setup): Invalidate the instruction cache over
1388         the whole range of the PLT.
1389
1390 2004-02-06  Andreas Schwab  <schwab@suse.de>
1391
1392         * posix/regcomp.c (build_range_exp): Fix off-by-one.
1393         (parse_bracket_exp): Likewise.
1394
1395 2004-02-05  Ulrich Drepper  <drepper@redhat.com>
1396
1397         * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Define
1398         _HAVE_STAT_NSEC and _HAVE_STAT64_NSEC.  Patch by Anton Blanchard.
1399
1400 2004-02-02  Paolo Bonzini  <bonzini@gnu.org>
1401
1402         * posix/regexec.c (check_matching): Add P_MATCH_FIRST parameter.
1403         (re_search_internal): Pass new parameter to check_matching.
1404         (check_matching): Unless a parenthesized group is found at the
1405         beginning of the regexp, advance P_MATCH_FIRST until we entered
1406         a state different from the initial state.
1407
1408 2004-02-01  Ulrich Drepper  <drepper@redhat.com>
1409
1410         * math/libm-test.inc (lround_test): Add new test.
1411         (llround_test): Likewise.
1412         (lrint_test): Likewise.
1413         (llrint_test): Likewise.
1414         * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Fix special case
1415         with result taking up 20 bits.
1416         * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise.
1417         * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise..
1418         * sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Fix special
1419         case with result taking up 31 bits.
1420         * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise.
1421
1422         * po/nl.po: Update from translation team.
1423
1424 2004-01-30  Andreas Schwab  <schwab@suse.de>
1425
1426         * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (ILL_BREAK,
1427         FPE_DECOVF, FPE_DECDIV, FPE_DECERR, FPE_INVASC, FPE_INVDEC,
1428         SEGV_PSTKOVF): Remove underscore prefix from definition.
1429
1430 2004-01-28  Paolo Bonzini  <bonzini@gnu.org>
1431
1432         Merge regex changes in gawk.
1433         * posix/regcomp.c (build_range_exp) [!_LIBC]: Check validity
1434         of collation elements.
1435         * posix/regex.c: Include limits.h.
1436         * posix/regex.h: Document REG_ECOLLATE correctly.
1437         * posix/regex_internal.h [!_LIBC && !ENABLE_NLS]: Disable NLS.
1438
1439 2004-01-24  Andreas Jaeger  <aj@suse.de>
1440
1441         * malloc/obstack.h: Import gnulib version.
1442         * malloc/obstack.c: Likewise.
1443
1444 2004-01-26  David Mosberger  <davidm@hpl.hp.com>
1445
1446         * elf/link.h (struct dl_phdr_info): Fix typo in comment.
1447         * elf/rtld.c (dl_main): After incrementing dl_nloaded, also
1448         increment dl_load_adds.
1449         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Replace GL(dl_load_subs)
1450         with equivalent GL(dl_load_adds - GL(dl_nloaded).
1451         (dl_iterate_phdr): Likewise.
1452         * elf/dl-close.c (_dl_close): Delete increment of GL(dl_load_subs).
1453         * elf/dl-support.c: Remove global variable _dl_load_subs.
1454         * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
1455         _dl_load_subs member.
1456
1457 2004-01-27  Jakub Jelinek  <jakub@redhat.com>
1458
1459         * elf/rtld.c (_dl_start_final): Don't set l_relro_* here.
1460         (_dl_start): And neither here.
1461         (dl_main): Set GL(dl_loaded)->l_relro_* and
1462         GL(dl_rtld_map)->l_relro_*.
1463
1464 2004-01-23  David Mosberger  <davidm@hpl.hp.com>
1465
1466         * sysdeps/generic/ldsodefs.h (struct rtld_global): Add members
1467         _dl_load_adds and _dl_load_subs.
1468         * elf/dl-support.c (_dl_load_adds): New variable.
1469         (_dl_load_subs): Likewise.
1470         * elf/dl-object.c (_dl_new_object): Increment dl_load_adds.
1471         * elf/dl-close.c (_dl_close): Increment dl_load_subs.
1472         * elf/link.h (struct dl_phdr_info): Add members dlpi_adds and
1473         dlpi_subs.
1474         * include/link.h: Likewise.
1475         * elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds
1476         and dlpi_subs members.
1477         (dl_iterate_phdr): Likewise.
1478         * elf/tst-dlmodcount.c: New file.
1479         * elf/Makefile (distribute): Mention tst-dlmodcount.c.
1480         (tests): If build-shared, mention tst-dlmodcount.
1481         ($(objpfx)tst-dlmodcount): If build-shared, build and
1482         run tst-dlmodcount.
1483
1484 2004-01-22  Jakub Jelinek  <jakub@redhat.com>
1485
1486         * elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection
1487         into...
1488         (_dl_protect_relro): New routine.
1489         * sysdeps/generic/ldsodefs.h (_dl_protect_relro): New prototype.
1490         * elf/rtld.c (_dl_start_final): Copy l_relro_addr and l_relro_size
1491         from bootstrap_map.
1492         (_dl_main): Don't set GL(_dl_loaded)->l_relro_{addr,size} here.
1493         Call _dl_protect_relro for libraries if prelinking.
1494
1495 2004-01-23  Richard Henderson  <rth@redhat.com>
1496
1497         * Versions.def (libm): Replace GLIBC_2.3.3 with GLIBC_2.3.4.
1498         * sysdeps/alpha/fpu/Versions (libm): Likewise.
1499         * sysdeps/alpha/fpu/cfloat-compat.h (cfloat_versions): Likewise.
1500         * sysdeps/alpha/fpu/s_clog10f.c (clog10f): Likewise.
1501
1502 2004-01-22  Andreas Jaeger  <aj@suse.de>
1503
1504         * sysdeps/ieee754/dbl-64/e_pow.c (log2): Rename to my_log2 to
1505         avoid warnings for builtin function log2.
1506
1507         * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Add proper unwind
1508         information.
1509
1510 2004-01-20  Ulrich Drepper  <drepper@redhat.com>
1511
1512         * sysdeps/unix/sysv/linux/sys/epoll.h: Add EPOLLONESHOT.
1513         * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise.
1514         Patch by Davide Libenzi.
1515
1516         * sysdeps/unix/sysv/linux/kernel-features.h: Define
1517         __ASSUME_NO_CLONE_DETACHED for 2.6.2+ kernels.
1518
1519         * catgets/Makefile ($(objpfx)de.msg): Run sed in C locale.
1520
1521         * sysdeps/unix/sysv/linux/readahead.c (__readahead): Use off64_t
1522         instead of loff_t.  Include <fcntl.h>.
1523         * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add readahead prototype.
1524         * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Likewise.
1525         * sysdeps/unix/sysv/linux/cris/bits/fcntl.h: Likewise.
1526         * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Likewise.
1527         * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
1528         * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
1529         * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Likewise.
1530         * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
1531         * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
1532         * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
1533         * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
1534         * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
1535
1536         * elf/dl-load.c: Don't add attribute_relro to max_dirnamelen.
1537
1538         * sysdeps/generic/inttypes.h: Fix PRI*FAST{16,32} macros.
1539
1540 2003-12-31  Bruno Haible  <bruno@clisp.org>
1541
1542         * iconvdata/iso_6937-2.c (to_ucs4): Map 0x7E to U+007E, not U+203E.
1543         Map 0xA6 to U+0023. Map 0xA8 to U+00A4.
1544         (to_ucs4_comb): Map 0xC5 0x20 to U+00AF.
1545         (from_ucs4): Map U+00ED to 0xC2 0x69, not 0xC2 0xE9.
1546         (BODY for TO_LOOP): Don't map U+02DC. Map U+02DD to 0xCD 0x20, not
1547         0x00 0x20. Don't map U+2500..U+25E3.
1548
1549 2004-01-19  Jakub Jelinek  <jakub@redhat.com>
1550
1551         * posix/regexec.c (get_subexp): Remove bkref_str variable.
1552         Extend buffers if needed before comparisons.
1553         (get_subexp_sub): Handle clean_state_log_if_needed failure.
1554
1555 2004-01-17  Ulrich Drepper  <drepper@redhat.com>
1556
1557         * sysdeps/i386/i486/bits/atomic.h (atomic_add): Fix test for using
1558         atomic_decrement.  Patch by Davin McCall.
1559
1560 2004-01-13  Daniel Jacobowitz  <drow@mvista.com>
1561
1562         * sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions)
1563         (__sim_disabled_exceptions, __sim_round_mode): Declare with
1564         hidden data and nocommon.
1565         * sysdeps/powerpc/nofpu/soft-supp.h (__sim_exceptions)
1566         (__sim_disabled_exceptions, __sim_round_mode): Use
1567         libc_hidden_proto.
1568         * sysdeps/powerpc/soft-fp/sfp-machine.h (__sim_exceptions)
1569         (__sim_disabled_exceptions, __sim_round_mode): Likewise.
1570
1571 2004-01-16  Ulrich Drepper  <drepper@redhat.com>
1572
1573         * elf/elf.h: Define PT_IA_64_HP_OPT_ANOT, PT_IA_64_HP_HSL_ANOT, and
1574         PT_IA_64_HP_STACK.
1575
1576 2004-01-16  Richard Henderson  <rth@redhat.com>
1577
1578         * include/unistd.h (__libc_enable_secure): Mark attribute_relro.
1579         (__libc_enable_secure_internal): Likewise.
1580
1581         * elf/dl-load.c: Don't declare __libc_stack_end.
1582         * sysdeps/generic/libc-start.c: Likewise.
1583         * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise.
1584         * sysdeps/generic/segfault.c: Likewise.  Include ldsodefs.h.
1585         * sysdeps/generic/backtrace.c: Likewise.
1586
1587 2004-01-15  Ulrich Drepper  <drepper@redhat.com>
1588
1589         * Versions.def: Add GLIBC_2.3.4.
1590
1591 2004-01-15  Richard Henderson  <rth@redhat.com>
1592
1593         * sysdeps/unix/alpha/sysdep.h: Revert last change.
1594
1595 2004-01-15  Richard Henderson  <rth@redhat.com>
1596
1597         * sysdeps/alpha/dl-machine.h (RTLD_START): Use _dl_argv_internal.
1598
1599         * sysdeps/unix/alpha/sysdep.h [PIC] (SYSCALL_ERROR_HANDLER): Use
1600         !samegp relocation.
1601
1602 2004-01-15  Richard Henderson  <rth@redhat.com>
1603
1604         * sysdeps/unix/sysv/linux/alpha/Makefile [stdlib]: Process
1605         ucontext-offsets.sym.
1606         * sysdeps/unix/sysv/linux/alpha/getcontext.S: New file.
1607         * sysdeps/unix/sysv/linux/alpha/makecontext.S: New file.
1608         * sysdeps/unix/sysv/linux/alpha/setcontext.S: New file.
1609         * sysdeps/unix/sysv/linux/alpha/swapcontext.S: New file.
1610         * sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: New file.
1611
1612 2004-01-15  Richard Henderson  <rth@redhat.com>
1613
1614         * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Prefix stubs with
1615         __syscall_, move nop inside, adjust users by +4.
1616
1617 2004-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
1618
1619         * include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME]
1620         (_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed symbols.
1621         (_default_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed
1622         symbols.
1623         * sysdeps/powerpc/Makefile: Add rtld-global-offsets.sym to
1624         gen-as-const-headers.
1625         * sysdeps/powerpc/elf/rtld-global-offsets.sym: New file.
1626         * sysdeps/powerpc/sysdep.h: Define v# symbols for vector registers.
1627         Define PPC_FEATURE_* masks for Aux Vector AT_HWCAP.
1628         * sysdeps/unix/sysv/linux/kernel-features.h
1629         (__ASSUME_SWAPCONTEXT_SYSCALL): Define for PPC and 2.6.0 kernels.
1630         * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h [!__WORDSIZE == 32]:
1631         Declare mcontext_t inline and include altivec state for 64-bit.
1632         * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
1633         versions for setcontext, getcontext, and swapcontext.
1634
1635         * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4
1636         versions for setcontext, getcontext, swapcontext, and makecontext.
1637         * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
1638         (__getcontext):  Upgrade to save Altivec regs and version GLIBC_2_3_4.
1639         [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_getcontext):
1640         Compatible with GLIBC_2.3.3 release.
1641         * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
1642         (__makecontext): Use parm save area instead of compiler_dw to hold
1643         context pointer.
1644         * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
1645         (__setcontext):  Upgrade to restore Altivec regs and version
1646         GLIBC_2_3_4.
1647         [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_setcontext):
1648         Compatible with GLIBC_2.3.3 release.
1649         * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
1650         (__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
1651         [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_swapcontext):
1652         Compatible with GLIBC_2.3.3 release.
1653         * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h
1654         (SIGCONTEXT_V_REGS_PTR, SIGCONTEXT_V_RESERVE): Defined.
1655
1656 2004-01-12  Steven Munroe  <sjmunroe@us.ibm.com>
1657
1658         * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Add GLIBC_2.3.4
1659         versions for setcontext, getcontext, swapcontext, and makecontext.
1660         * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
1661         (__getcontext):  Upgrade to save Altivec regs and version GLIBC_2_3_4.
1662         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_getcontext):
1663         Compatible with GLIBC_2.3.3 release.
1664         * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
1665         (__makecontext): Upgrade to align for Altivec regs and version
1666         GLIBC_2_3_4.
1667         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_makecontext):
1668         Compatible with GLIBC_2.3.3 release.
1669         * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
1670         (__setcontext):  Upgrade to restore Altivec regs and version
1671         GLIBC_2_3_4.
1672         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_setcontext):
1673         Compatible with GLIBC_2.3.3 release.
1674         * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
1675         (__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4.
1676         [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)]
1677         (__novec_swapcontext): Compatible with GLIBC_2.3.3 release.
1678         * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h:
1679         (_UC_VSCR, _UC_VRSAVE): Define.
1680         (_FRAME_BACKCHAIN, _FRAME_LR_SAVE,_FRAME_PARM_SAVE1,_FRAME_PARM_SAVE2,
1681         _FRAME_PARM_SAVE3, _FRAME_PARM_SAVE4): Defined.
1682
1683 2004-01-15  Ulrich Drepper  <drepper@redhat.com>
1684
1685         * elf/rtld.c: Handle platforms with HP_TIMING_NONAVAIL defined.
1686
1687 2004-01-16  Alfred M. Szmidt  <ams@kemisten.nu>
1688
1689         * sysdeps/generic/dl-execstack.c (_dl_make_stack_executable): Adjust
1690         parameter type.
1691
1692 2004-01-15  Ulrich Drepper  <drepper@redhat.com>
1693
1694         * elf/elf.h: Fix typo in comment.
1695
1696         * sysdeps/generic/dl-sysdep.c: Initialize __libc_stack_end.
1697         * elf/rtld.c: Initialize _dl_argv to allow aliasing.
1698
1699         * resolv/resolv.h: Add RES_USEBSTRING.
1700         * resolv/res_debug.c (p_option): Add handling for RES_USE_INET6,
1701         RES_ROTATE, RES_NOCHECKNAME, and RES_USEBSTRING.
1702         * resolv/res_init.c (res_setioptions): Recognize ip6-bytestring.
1703         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Only perform
1704         bytestring IPv6 lookup with RES_USEBSTRING option is selected.
1705         Otherwise use the two nibble formats.
1706
1707 2004-01-14  Ulrich Drepper  <drepper@redhat.com>
1708
1709         * configure.in: Define HAVE_Z_RELRO if the linker supports -z relro.
1710         * config.h.in: Add entry for HAVE_Z_RELRO.
1711         * include/libc-symbols.h: Define attribute_relro.
1712         * elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr,
1713         max_capstrlen, and max_dirnamelen definitions.
1714         * elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args,
1715         load_time, start_time, library_path, preloadlist, version_info,
1716         any_debug.
1717         Remove rtld_total_time.  Make it a local variable.  Pass pointer to
1718         it to print_statistics.  Change print_statistics accordingly.
1719         * sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv.  Use
1720         attribute_relro instead of explicitly assigning variable to the
1721         .data.rel.ro section for __libc_enable_secure and __libc_stack_end.
1722         * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc,
1723         _dl_argv, _dl_argv_internal with attribute_relro.
1724
1725 2004-01-13  Segher Boessenkool  <boessen@de.ibm.com>
1726
1727         * Makerules (gen-as-const): Don't silently continue on failure.
1728
1729 2004-01-14  Steven Munroe  <sjmunroe@us.ibm.com>
1730
1731         * sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
1732         rtld_hidden_data_def.
1733
1734 2004-01-14  Ulrich Drepper  <drepper@redhat.com>
1735
1736         * libio/libio.h: Add const to function tables types.
1737         * libio/libioP.h: Likewise.
1738         * login/utmp-private.h: Likewise.
1739         * libio/fileops.c: Add const to jump table variable definition.
1740         * libio/genops.c: Likewise.
1741         * libio/iofopncook.c: Likewise.
1742         * libio/iopopen.c: Likewise.
1743         * libio/memstream.c: Likewise.
1744         * libio/obprintf.c: Likewise.
1745         * libio/oldfileops.c: Likewise.
1746         * libio/oldiopopen.c: Likewise.
1747         * libio/strops.c: Likewise.
1748         * libio/vsnprintf.c: Likewise.
1749         * libio/vswprintf.c: Likewise.
1750         * libio/wfileops.c: Likewise.
1751         * libio/wstrops.c: Likewise.
1752         * login/getutent_r.c: Likewise.
1753         * login/getutid_r.c Likewise.
1754         * login/getutline_r.c: Likewise.
1755         * sysdeps/generic/utmp_file.c: Likewise.
1756
1757 2004-01-09  Bruno Haible  <bruno@clisp.org>
1758
1759         * intl/gmo.h (MO_REVISION_NUMBER_WITH_SYSDEP_I): New definition.
1760         * intl/loadmsgcat.c (get_sysdep_segment_value): Handle "I".
1761         (_nl_load_domain): Treat major revision 1 like major revision 0.
1762
1763 2004-01-11  Bruno Haible  <bruno@clisp.org>
1764
1765         * stdio-common/vfprintf.c (vfprintf): Disallow the 'I' flag after
1766         width or precision has been seen.
1767
1768 2004-01-08  Bruno Haible  <bruno@clisp.org>
1769
1770         * intl/loadmsgcat.c (_nl_load_domain): When a string pair uses a system
1771         dependent segment not known to this version of the library, ignore
1772         the string pair instead of crashing.
1773
1774 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
1775
1776         * configure.in: Rewrite test to give gcc to clean up after itself.
1777         Patch by Greg Schafer.
1778
1779         * posix/regex.c: Support crappy compilers and platforms which have
1780         problems with alloca.
1781         * posix/regex_internal.h: Likewise.
1782         Patch by Paolo Bonzini.
1783
1784 2004-01-12  Paolo Bonzini  <bonzini@gnu.org>
1785
1786         * posix/regcomp.c [_LIBC && !RE_ENABLE_I18N]:
1787         Drop code to support this, it is never true.
1788         (build_range_exp) [!_LIBC]: Do not create a range
1789         in MBCSET for a single-byte character set.
1790         (build_range_exp) [_LIBC]: Do not create a range
1791         in MBCSET for a single-byte character set without
1792         collation elements.
1793         (init_dfa): Do not conditionalize on _LIBC, it
1794         just makes the code less clear.
1795         (parse_bracket_exp): Use NON_MATCH variable in
1796         addition to "mbcset->non_match", not as an
1797         alternative.
1798         (build_charclass_op): rename NOT parameter to
1799         NON_MATCH, use it instead of declaring a variable.
1800         (parse_bracket_exp) [!_LIBC]: Pass NULL for MBCSET
1801         if the character set is single-byte.
1802
1803 2004-01-14  Jakub Jelinek  <jakub@redhat.com>
1804
1805         * posix/regcomp.c (peek_token_bracket): Check remaining
1806         string length before re_string_peek_byte (x, 1).
1807         (parse_bracket_symbol): Likewise.
1808         * posix/regex_internal.h (re_string_is_single_byte_char): Return
1809         true at last byte in the string.
1810         * posix/bug-regex22.c (main): Add new test.
1811
1812 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
1813
1814         * sysdeps/generic/dl-sysdep.c: Move __libc_enable_secure into
1815         .data.rel.ro.
1816
1817         * sysdeps/x86_64/dl-machine.h: Include <tls.h>.
1818
1819         * elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here.
1820         * sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with
1821         rtld_hidden_def and move into .data.rel.ro section.
1822         * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with
1823         rtld_hidden_proto.
1824         * sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here
1825         if !SHARED.
1826
1827 2004-01-13  Richard Henderson  <rth@redhat.com>
1828
1829         * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Fix typo.
1830
1831 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
1832
1833         * sysdeps/unix/sysv/linux/dl-execstack.c
1834         (_dl_make_stack_executable): Move common code in front.  Use
1835         __builtin_expect.
1836
1837         * sysdeps/unix/sysv/linux/dl-execstack.c: Change interface.  Add
1838         challenge for caller.
1839         * sysdeps/generic/ldsodefs.h: Change declaration and type of hook
1840         member in rtld_global appropriately.
1841         * elf/dl-support.c: Likewise.
1842         * elf/dl-load.c (_dl_map_object_from_fd): Take additional paramter.
1843         Pass it on to the changed function.
1844         (_dl_map_object): Pass new parameter to _dl_map_object_from_fd.
1845
1846 2004-01-13  Richard Henderson  <rth@redhat.com>
1847
1848         * sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_xxx_8_int):
1849         Cast old up to uint64_t before back down to inner width.
1850         (__arch_compare_and_exchange_xxx_16_int): Likewise.
1851         (__arch_compare_and_exchange_xxx_32_int): Likewise.
1852         (__arch_compare_and_exchange_xxx_64_int): Likewise.
1853         (__arch_compare_and_exchange_val_8_int): Cast result to
1854         the type of the memory.
1855         (__arch_compare_and_exchange_val_16_int): Likewise.
1856         (__arch_compare_and_exchange_val_32_int): Likewise.
1857         (__arch_compare_and_exchange_val_64_int): Likewise.
1858         (atomic_compare_and_exchange_bool_acq): Use __atomic_bool_bysize.
1859         (atomic_compare_and_exchange_bool_rel): Likewise.
1860
1861         * sysdeps/unix/alpha/sysdep.h: Select inline_syscall_r0_asm
1862         based on HAVE___THREAD instead of USE_TLS.
1863
1864         * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIMEX32): New.
1865         (__adjtimex_tv64): Use it.
1866
1867         * sysdeps/unix/sysv/linux/alpha/semctl.c (__new_semctl): Cast
1868         to void* rather than directly to the compatibility structure type.
1869         * sysdeps/unix/sysv/linux/alpha/shmctl.c (__new_shmctl): Likewise.
1870
1871         * sysdeps/unix/sysv/linux/alpha/sigaction.c (struct kernel_sigaction):
1872         Forward declare.
1873
1874 2004-01-13  Richard Henderson  <rth@redhat.com>
1875
1876         * Versions.def (libm): Add GLIBC_2.3.3.
1877         * sysdeps/alpha/fpu/Versions: Add __c1_c*f and c*f to GLIBC_2.3.3.
1878         * sysdeps/alpha/fpu/cabsf.c, sysdeps/alpha/fpu/cargf.c,
1879         sysdeps/alpha/fpu/cfloat-compat.h, sysdeps/alpha/fpu/cimagf.c,
1880         sysdeps/alpha/fpu/conjf.c, sysdeps/alpha/fpu/crealf.c,
1881         sysdeps/alpha/fpu/s_cacosf.c, sysdeps/alpha/fpu/s_cacoshf.c,
1882         sysdeps/alpha/fpu/s_casinf.c, sysdeps/alpha/fpu/s_casinhf.c,
1883         sysdeps/alpha/fpu/s_catanf.c, sysdeps/alpha/fpu/s_catanhf.c,
1884         sysdeps/alpha/fpu/s_ccosf.c, sysdeps/alpha/fpu/s_ccoshf.c,
1885         sysdeps/alpha/fpu/s_cexpf.c, sysdeps/alpha/fpu/s_clog10f.c,
1886         sysdeps/alpha/fpu/s_clogf.c, sysdeps/alpha/fpu/s_cpowf.c,
1887         sysdeps/alpha/fpu/s_cprojf.c, sysdeps/alpha/fpu/s_csinf.c,
1888         sysdeps/alpha/fpu/s_csinhf.c, sysdeps/alpha/fpu/s_csqrtf.c,
1889         sysdeps/alpha/fpu/s_ctanf.c, sysdeps/alpha/fpu/s_ctanhf.c: New files.
1890         * sysdeps/alpha/fpu/bits/mathdef.h: Rename complex float
1891         functions for gcc 3.3.
1892
1893         * sysdeps/generic/s_cacosf.c, sysdeps/generic/s_cacoshf.c,
1894         sysdeps/generic/s_casinf.c, sysdeps/generic/s_casinhf.c,
1895         sysdeps/generic/s_catanf.c, sysdeps/generic/s_catanhf.c,
1896         sysdeps/generic/s_ccosf.c, sysdeps/generic/s_ccoshf.c,
1897         sysdeps/generic/s_cexpf.c, sysdeps/generic/s_clog10f.c,
1898         sysdeps/generic/s_clogf.c, sysdeps/generic/s_cpowf.c,
1899         sysdeps/generic/s_cprojf.c, sysdeps/generic/s_csinf.c,
1900         sysdeps/generic/s_csinhf.c, sysdeps/generic/s_csqrtf.c,
1901         sysdeps/generic/s_ctanf.c, sysdeps/generic/s_ctanhf.c: Don't
1902         weak_alias if the function name has been #defined.
1903
1904         * math/cabsf.c: Move ...
1905         * sysdeps/generic/cabsf.c: ... here.
1906         * math/cargf.c: Move ...
1907         * sysdeps/generic/cargf.c: ... here.
1908         * math/cimagf.c: Move ...
1909         * sysdeps/generic/cimagf.c: ... here.
1910         * math/conjf.c: Move ...
1911         * sysdeps/generic/conjf.c: ... here.
1912         * math/crealf.c: Move ...
1913         * sysdeps/generic/crealf.c: ... here.
1914
1915 2004-01-13  Ulrich Drepper  <drepper@redhat.com>
1916
1917         * Makeconfig: Define relro-LDFLAGS if have-z-relro==yes.  Add it to
1918         LDFLAGS.so and LDFLAGS-rtld.
1919         (+link): Add relro-LDFLAGS.
1920         * Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and
1921         __libc_thread_subfreeres sections after .jcr section.
1922         * config.make.in: Add have-z-relro.
1923         * configure.in: Add check for -z relro option.
1924         * include/link.h (struct link_map): Add relro_addr and relro_size
1925         members.
1926         * elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO.
1927         * elf/dl-reloc.c (_dl_relocate_object): At the end, make relro
1928         part of loaded segments read-only.
1929         * elf/elf.h: Define PT_GNU_RELRO.
1930         * elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so.
1931         (dl_main): Recognize PT_GNU_RELRO of the application.  Call
1932         _dl_debug_initialize and initialize l_info[DT_DEBUG] before
1933         relocations.
1934
1935 2004-01-12  Jakub Jelinek  <jakub@redhat.com>
1936
1937         * sysdeps/x86_64/strcspn.S: Fix typo in last patch.
1938
1939 2004-01-11  Andreas Jaeger  <aj@suse.de>
1940
1941         * sysdeps/x86_64/__longjmp.S: Add cfi directives.
1942
1943 2004-01-10  Andreas Jaeger  <aj@suse.de>
1944
1945         * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Add cfi directives.
1946         * sysdeps/unix/x86_64/sysdep.S (__syscall_error): Likewise.
1947         * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise.
1948         * sysdeps/x86_64/strcspn.S: Likewise.
1949         * sysdeps/x86_64/strspn.S: Likewise.
1950
1951 2004-01-08  Jakub Jelinek  <jakub@redhat.com>
1952
1953         * sysdeps/unix/sysv/linux/x86_64/clone.S (__clone): Add cfi_endproc
1954         right before syscall and cfi_startproc before PSEUDO_END.
1955         Clear %rbp in thread_start.
1956
1957 2004-01-05  Jakub Jelinek  <jakub@redhat.com>
1958
1959         * posix/regcomp.c (regcomp): Fix comment typo.
1960         (regfree): Free preg->translate, clear buffer, allocated, fastmap
1961         and translate fields.
1962
1963         * posix/regcomp.c (build_charclass, buld_charclass_op): Change first
1964         argument to unsigned RE_TRANSLATE_TYPE.
1965         * posix/regex_internal.h (re_string_t): Change trans type to
1966         unsigned RE_TRANSLATE_TYPE.
1967         * posix/regex_internal.c (re_string_construct_common): Cast
1968         trans to unsigned RE_TRANSLATE_TYPE.
1969         (re_string_peek_byte_case, re_string_fetch_byte_case): Avoid fast
1970         path if pstr->trans.  Never translate the character through
1971         pstr->trans.
1972         * posix/Makefile (tests): Add bug-regex22.
1973         (bug-regex22-ENV): Set.
1974         * posix/bug-regex22.c: New test.
1975
1976 2004-01-02  Paolo Bonzini  <bonzini@gnu.org>
1977
1978         * posix/regex_internal.c (re_node_set_add_intersect,
1979         re_node_set_merge): Rewritten.
1980         (re_node_set_insert, re_node_set_remove_at):
1981         Avoid memmove, we know what direction we should copy and that we
1982         are copying 32-bit words.
1983         (re_node_set_compare): Iterate backwards.
1984
1985 2003-12-30  Paul Eggert  <eggert@twinsun.com>
1986
1987         * time/mktime.c (verify): New macro.
1988         (time_t_is_integer, twos_complement_arithmetic,
1989         right_shift_propagates_sign, base_year_is_a_multiple_of_100,
1990         C99_integer_division): Document these longstanding assumptions in the
1991         code, and verify them at compile-time.
1992
1993 2004-01-02  Jakub Jelinek  <jakub@redhat.com>
1994
1995         * posix/regex_internal.h (re_match_context_t): Add dfa member.
1996         * posix/regexec.c (match_ctx_free_subtops, search_cur_bkref_entry,
1997         match_ctx_add_sublast, sift_ctx_init, acquire_init_state_context,
1998         prune_impossible_nodes, check_halt_state_context, proceed_next_node,
1999         sift_states_backward, update_cur_sifted_state, check_dst_limits,
2000         check_dst_limits_calc_pos, sift_states_bkref, transit_state,
2001         check_subexp_matching_top, transit_state_sb, transit_state_mb,
2002         transit_state_bkref, get_subexp, get_subexp_sub, check_arrival,
2003         check_arrival_add_next_nodes, expand_bkref_cache, check_node_accept):
2004         Remove dfa parameter.  Get dfa from mctx.  Adjust callers.
2005         (re_search_internal): Initialize mctx.dfa.
2006
2007         * posix/regex_internal.c (re_node_set_insert): Remove unused variables.
2008
2009         * posix/regex_internal.h (re_dfa_t): Add syntax field.
2010         * posix/regcomp.c (parse): Initialize dfa->syntax.
2011         * posix/regexec.c (acquire_init_state_context,
2012         prune_impossible_nodes, check_matching, check_halt_state_context,
2013         proceed_next_node, sift_states_iter_mb, sift_states_backward,
2014         update_cur_sifted_state, sift_states_bkref, transit_state,
2015         transit_state_sb, transit_state_mb, transit_state_bkref,
2016         get_subexp, get_subexp_sub, check_arrival, expand_bkref_cache,
2017         build_trtable): Remove preg argument, add dfa argument instead
2018         and remove dfa = preg->buffer initialization in the body.
2019         Adjust all callers.
2020         (check_node_accept_bytes, group_nodes_into_DFAstates,
2021         check_node_accept): Likewise.  Use dfa->syntax instead of
2022         preg->syntax.
2023         (check_arrival_add_next_nodes): Remove preg argument.
2024
2025         * posix/regex_internal.h (re_match_context_t): Make input
2026         re_string_t instead of a pointer to it.
2027         * posix/regex_internal.c (re_string_construct_common): Don't clear
2028         pstr here...
2029         (re_string_construct): ... but only here.
2030         * posix/regexec.c (match_ctx_init): Remove input argument.  Don't
2031         initialize fields to zero.
2032         (re_search_internal): Move input into mctx.input.
2033         (acquire_init_state_context, check_matching,
2034         check_halt_state_context, proceed_next_node,
2035         clean_state_log_if_needed, sift_states_bkref, sift_states_iter_mb,
2036         transit_state, transit_state_sb, transit_state_mb,
2037         transit_state_bkref, get_subexp, check_arrival,
2038         check_arrival_add_next_nodes, check_node_accept, extend_buffers):
2039         Change mctx->input into &mctx->input and mctx->input->field into
2040         mctx->input.field.
2041
2042 2004-01-02  Jakub Jelinek  <jakub@redhat.com>
2043             Paolo Bonzini  <bonzini@gnu.org>
2044
2045         * posix/regex_internal.h (re_const_bitset_ptr_t): New type.
2046         (re_string_t): Add newline_anchor, word_char and word_ops_used fields.
2047         (re_dfa_t): Change word_char type to bitset.  Add word_ops_used field.
2048         (re_string_context_at, re_string_reconstruct): Remove last argument.
2049         * posix/regex_internal.c (re_string_allocate): Initialize
2050         pstr->word_char and pstr->word_ops_used.
2051         (re_string_context_at): Remove newline_anchor argument.
2052         Use input->newline_anchor instead, swap && conditions.
2053         Only use IS_WIDE_WORD_CHAR if input->word_ops_used != 0.
2054         Use input->word_char bitmap instead of IS_WORD_CHAR.
2055         (re_string_reconstruct): Likewise.
2056         Adjust re_string_context_at caller.
2057         * posix/regexec.c (acquire_init_state_context,
2058         check_halt_state_context, transit_state, transit_state_sb,
2059         transit_state_mb, transit_state_bkref, check_arrival,
2060         check_node_accept): Adjust re_string_context_at and
2061         re_string_reconstruct callers.
2062         (re_search_internal): Likewise.  Set input.newline_anchor.
2063         (build_trtable): Use dfa->word_char bitmap instead of IS_WORD_CHAR.
2064         * posix/regcomp.c (init_word_char): Change return type to void.
2065         Set dfa->word_ops_used.
2066         (free_dfa_content): Don't free dfa->word_char.
2067         (parse_expression): Remove error handling for init_word_char.
2068
2069 2004-01-01  Paolo Bonzini  <bonzini@gnu.org>
2070
2071         * posix/regex_internal.h (re_dfastate_t): Fix size of the CONTEXT
2072         bitfield.
2073
2074         * posix/regex_internal.c (re_node_set_insert):  Rewrite.
2075
2076 2004-01-01  Ulrich Drepper  <drepper@redhat.com>
2077
2078         * posix/getconf.c: Update copyright year.
2079         * nss/getent.c: Likewise.
2080         * nscd/nscd_nischeck.c: Likewise.
2081         * iconv/iconvconfig.c: Likewise.
2082         * iconv/iconv_prog.c: Likewise.
2083         * elf/ldconfig.c: Likewise.
2084         * catgets/gencat.c: Likewise.
2085         * csu/version.c: Likewise.
2086         * elf/ldd.bash.in: Likewise.
2087         * elf/sprof.c (print_version): Likewise.
2088         * locale/programs/locale.c: Likewise.
2089         * locale/programs/localedef.c: Likewise.
2090         * nscd/nscd.c (print_version): Likewise.
2091         * debug/xtrace.sh: Likewise.
2092         * malloc/memusage.sh: Likewise.
2093         * malloc/mtrace.pl: Likewise.
2094
2095 2004-01-01  Petter Reinholdtsen  <pere@hungry.com>
2096
2097         * stdlib/strfmon.c: Make formatting of left-justified currency
2098         values match the the POSIX standard.  When using format string
2099         "[%-14#5.4n]" to print -123.45, the result should be
2100         "[-$   123.4500 ]", not "[-$123.4500    ]".
2101
2102 2004-01-01  Andreas Jaeger  <aj@suse.de>
2103
2104         * resolv/Makefile (generated): New.
2105
2106 2003-12-31  Joseph S. Myers  <jsm@polyomino.org.uk>
2107
2108         * CONFORMANCE: Update.
2109
2110 2003-12-30  Paul Eggert  <eggert@twinsun.com>
2111
2112         * time/mktime.c: (my_mktime_localtime_r):
2113         Remove.  All uses changed to __localtime_r.
2114         (__localtime_r) [!defined _LIBC]: New macro.  Include "time_r.h" to
2115         get its implementation.
2116         Fix compile-command to allow for TIME_R_POSIX.
2117
2118         * time/strftime.c (my_strftime_gmtime_r, my_strftime_localtime_r):
2119         Remove.  All uses changed to __localtime_r and __gmtime_r.
2120         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
2121         Include "time_r.h" to get their implementations.
2122
2123         * time/timegm.c: Allow use in GNU applications outside glibc.
2124         [defined HAVE_CONFIG_H]: Include <config.h>.
2125         [!defined _LIBC]: Include "timegm.h", <time_r.h>.
2126         Define __gmtime_r, and declare __mktime_internal.
2127         (timegm): Define via a prototype, since we can safely assume C89 now.
2128
2129         * time/mktime.c (check_result): Use less-confusing report format.
2130         "long" -> "long int", as per usual GNU style.
2131         (main): Likewise.
2132         Don't loop if the iteration overflows time_t.
2133         Allow a negative step in the iteration.
2134
2135         * time/mktime.c: Assume freestanding C89 or better.
2136         (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove;
2137         assume they're 1.
2138         (__P): Remove; not used.
2139         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
2140         (mktime, not_equal_tm, print_tm, check_result, main): Use prototypes.
2141         Prototypes use const * where appropriate.
2142         (main) [DEBUG]: Fix typo in testing code uncovered by above changes,
2143         which caused the testing code to dump core on some hosts.
2144
2145 2003-12-31  Ulrich Drepper  <drepper@redhat.com>
2146
2147         * locale/setlocale.c (setlocale): Avoid duplicating locale names
2148         if we can reuse old strings.
2149
2150         * inet/rcmd.c: Provide better error message in case of unknown
2151         host.  Remove USE_IN_LIBIO.
2152
2153         * nscd/nscd.init: Updated version, more conforming with current
2154         init file standards.
2155
2156         * nscd/nscd-client.h (_PATH_NSCDPID): Move the file into
2157         /var/run/nscd directory.
2158         (_PATH_NSCDSOCKET): Likewise.
2159
2160         * test-skeleton.c (timeout_handler): Fix error message.
2161
2162         * elf/dl-dst.h (DL_DST_REQUIRED): Avoid the complex operations if
2163         CNT == 0.
2164
2165 2003-12-30  Jakub Jelinek  <jakub@redhat.com>
2166
2167         * posix/regexec.c (get_subexp): Only set bkref_str after the first
2168         loop, use buf + bkref_str_off in the loop instead.
2169         * posix/bug-regex11.c (tests): Add 3 new tests.
2170
2171         * posix/regexec.c (clean_state_log_if_need): Rename to...
2172         (clean_state_log_if_needed): ...this.
2173         (transit_state_mb, get_subexp_sub): Adjust callers.
2174
2175         * sunrpc/pmap_clnt.c (pmap_set): Do CLNT_DESTROY even if CLNT_CALL
2176         failed.  Reported by Steve Grubb.
2177
2178 2003-12-29  Ulrich Drepper  <drepper@redhat.com>
2179
2180         * elf/elf.h: Add a few definitions from Solaris 9.
2181
2182 2003-12-29  Andreas Schwab  <schwab@suse.de>
2183
2184         * stdio-common/Makefile (CFLAGS-errlist.c, CFLAGS-siglist.c): Add
2185         $(fno_unit_at_a_time) to avoid reordering assembler output.
2186
2187 2003-12-29  Jakub Jelinek  <jakub@redhat.com>
2188
2189         * posix/regexec.c (re_copy_regs): Revert comment change.
2190         Avoid memory leak if realloc fails.
2191         (proceed_next_node): Return -2 if re_node_set_insert fails.
2192         Return -2 if push_fail_stack fails.
2193         (push_fail_stack): Change fs->alloc only after successful realloc.
2194         (pop_fail_stack): Formatting.
2195         (set_regs): If proceed_next_node returns -2, free eps_via_nodes and fs.
2196         (check_arrival_add_next_nodes): Merge identical statements
2197         from if branches.
2198
2199         * signal/Makefile (tests): Add tst-raise.
2200         * signal/tst-raise.c: New test.
2201
2202 2003-12-28  Ulrich Drepper  <drepper@redhat.com>
2203
2204         * posix/regcomp.c (mark_opt_subexp_iter): Declare IDX as int.
2205
2206         * posix/regexec.c (re_copy_regs): Fix testing for failed allocation.
2207         (push_fail_stack): Add missing check for failed memory allocation.
2208
2209         * libio/libio.h: Use __builtin_expect in _IO_getc_unlocked,
2210         _IO_peekc_unlocked, _IO_putc_unlocked, _IO_getwc_unlocked, and
2211         _IO_putwc_unlocked.
2212
2213 2003-12-28  Andreas Jaeger  <aj@suse.de>
2214
2215         * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise only
2216         overflow for 0 as argument. Raise Invalid exception for negative args.
2217         * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Likewise.
2218         * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y0): Likewise.
2219         * sysdeps/ieee754/ldb-128/e_jnl.c (__ieee754_ynl): Likewise.
2220         * sysdeps/ieee754/ldb-128/e_j0l.c (__ieee754_y0l): Likewise.
2221         * sysdeps/ieee754/ldb-128/e_j1l.c (__ieee754_y1l): Likewise.
2222         * sysdeps/ieee754/ldb-96/e_jnl.c (__ieee754_ynl): Likewise.
2223         * sysdeps/ieee754/ldb-96/e_j0l.c (__ieee754_y0l): Likewise.
2224         * sysdeps/ieee754/ldb-96/e_j1l.c (__ieee754_y1l): Likewise.
2225         * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise.
2226         * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise.
2227         * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise.
2228
2229         * math/libm-test.inc (yn_test): Expect invalid exception for
2230         negative arguments.
2231         (y0_test): Likewise.
2232         (y1_test): Likewise.
2233
2234         * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Do not raise
2235         execptions for exp(NaN).
2236
2237 2003-12-23  Paolo Bonzini  <bonzini@gnu.org>
2238
2239         * posix/regex_internal.c (re_dfa_add_node): Initialize opt_subexp.
2240         * posix/regex_internal.h (re_token_type_t): Put OP_DUP_PLUS
2241         among the tokens, rather than among the epsilon-transiting nodes.
2242         (re_token_t): Add the opt_subexp flag.
2243         * posix/regcomp.c (optimize_utf8, calc_first,
2244         calc_next, calc_epsdest): Don't consider OP_DUP_PLUS.
2245         (mark_opt_subexp, mark_opt_subexp_iter): New functions.
2246         (parse_dup_op): Mostly rewritten, lowering OP_DUP_PLUS to
2247         OP_DUP_ASTERISK and marking optional subexpressions
2248         as such using mark_opt_subexp.
2249         * posix/regexec.c (set_regs): Initialize PREV_INDEX_MATCH
2250         and pass it to update_regs.
2251         (update_regs): Use the PREV_INDEX_MATCH parameter, together
2252         with the opt_subexp flag, in order to discard a final empty
2253         match of a repeated subexpression.
2254         * posix/BOOST.tests: Adjust test vectors.
2255         * posix/PCRE.tests: Likewise.
2256         * posix/rxspencer/tests: Likewise.
2257
2258 2000-05-22  Jakub Jelinek  <jakub@redhat.com>
2259
2260         * sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Avoid using ?:
2261         with omitted middle operand.
2262
2263 2003-12-22  Jakub Jelinek  <jakub@redhat.com>
2264
2265         * posix/regcomp.c: Remove C99-ism.
2266         * posix/tst-rxspencer.c: Likewise.
2267         Based on a patch by Alex Davis <alex14641@yahoo.com>.
2268
2269 2003-12-17  Paolo Bonzini  <bonzini@gnu.org>
2270
2271         * posix/regex_internal.h [!_LIBC] (internal_function): Define.
2272         (re_string_allocate, re_string_construct, re_string_reconstruct,
2273         re_string_realloc_buffers, build_wcs_buffer,
2274         build_wcs_upper_buffer, build_upper_buffer,
2275         re_string_translate_buffer, re_string_destruct,
2276         re_string_elem_size_at, re_string_char_size_at,
2277         re_string_wchar_at, re_string_context_at,
2278         re_node_set_alloc, re_node_set_init_1
2279         re_node_set_init_2, re_node_set_init_copy,
2280         re_node_set_add_intersect, re_node_set_init_union,
2281         re_node_set_merge, re_node_set_insert
2282         re_node_set_compare, re_node_set_contains
2283         re_node_set_remove_at, re_dfa_add_node,
2284         re_acquire_state, re_acquire_state_context,
2285         free_state): Add internal_function to declaration.
2286
2287         * posix/regexec.c (match_ctx_init, match_ctx_clean,
2288         match_ctx_free, match_ctx_free_subtops,
2289         match_ctx_add_entry, search_cur_bkref_entry,
2290         match_ctx_clear_flag, match_ctx_add_subtop,
2291         match_ctx_add_sublast, sift_ctx_init,
2292         re_search_internal, re_search_2_stub, re_search_stub,
2293         re_copy_regs, acquire_init_state_context,
2294         prune_impossible_nodes, check_matching,
2295         check_halt_node_context, check_halt_state_context
2296         update_regs, proceed_next_node, push_fail_stack,
2297         pop_fail_stack, set_regs, free_fail_stack_return,
2298         sift_states_iter_mb, sift_states_backward
2299         update_cur_sifted_state, add_epsilon_src_nodes,
2300         sub_epsilon_src_nodes, check_dst_limits,
2301         check_dst_limits_calc_pos, check_subexp_limits,
2302         sift_states_bkref, clean_state_log_if_need,
2303         merge_state_array, transit_state,
2304         check_subexp_matching_top, transit_state_sb,
2305         transit_state_mb, transit_state_bkref,
2306         get_subexp, get_subexp_sub, find_subexp_node,
2307         check_arrival, check_arrival_add_next_nodes,
2308         find_collation_sequence_value, check_arrival_expand_ecl,
2309         check_arrival_expand_ecl_sub, expand_bkref_cache,
2310         build_trtable, check_node_accept_bytes, extend_buffers,
2311         group_nodes_into_DFAstates, check_node_accept): Likewise.
2312
2313         * posix/regex_internal.c (re_string_construct_common,
2314         re_string_skip_chars, create_newstate_common,
2315         register_state, create_ci_newstate, create_cd_newstate,
2316         calc_state_hash): Likewise.
2317         (re_string_peek_byte_case, re_fetch_byte_case): Change
2318         declaration from ANSI to K&R.
2319
2320 2003-12-16  Paolo Bonzini  <bonzini@gnu.org>
2321
2322         * posix/regexec.c (build_trtable): Don't allocate the trtable
2323         until state->word_trtable is known.  Don't hardcode UINT_BITS
2324         iterations on each bitset item.
2325
2326 2003-12-22  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
2327
2328         * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init):
2329         Initialize REF before passing it to _dl_lookup_symbol.
2330
2331 2003-12-21  Roland McGrath  <roland@frob.com>
2332
2333         * sysdeps/mach/hurd/dl-sysdep.c (_exit): Define with attribute_hidden.
2334
2335 2003-12-21  Jakub Jelinek  <jakub@redhat.com>
2336
2337         * posix/regcomp.c (duplicate_node, duplicate_node_closure): Revert
2338         2003-11-24 changes.
2339         * posix/regexec.c (group_nodes_into_DFAstates): For CHARACTER with
2340         NEXT_{,NOT}WORD_CONSTRAINT check word_char bit.
2341         * posix/bug-regex19.c (tests): Add new tests.
2342
2343         * posix/regexec.c (check_dst_limits_calc_pos): Fix formatting.
2344
2345         * posix/regcomp.c (parse_dup_op): Return NULL if dup_elem is NULL,
2346         after checking syntax.  Optimize.
2347         (calc_first): Fix comment.
2348         * posix/bug-regex13.c (tests): Add new tests.
2349
2350 2003-12-21  Roland McGrath  <roland@redhat.com>
2351
2352         * manual/arith.texi (Parsing of Integers): Typo fix.
2353
2354 2003-12-20  Roland McGrath  <roland@frob.com>
2355
2356         * sysdeps/generic/ifreq.c (__ifreq) [_HAVE_SA_LEN]: Fix typo:
2357         add missing dereference of IFREQS before counting loop.
2358
2359 2003-12-21  Andreas Schwab  <schwab@suse.de>
2360
2361         * sysdeps/m68k/m68020/bits/atomic.h: Avoid matching memory
2362         constraints.
2363
2364 2003-12-20  Ulrich Drepper  <drepper@redhat.com>
2365
2366         * elf/rtld.c (dl_main): Optimize order of subexpressions in if().
2367
2368 2003-12-18  Ulrich Drepper  <drepper@redhat.com>
2369
2370         * stdio-common/printf_fp.c: Add support to use alternative decimal
2371         digits.
2372         * stdio-common/vfprintf.c (vfprintf): Pass use_outdigits flags to
2373         __printf_fp.  Patch by Hamed Malek <hamed@bamdad.org>.
2374
2375 2003-12-18  Carlos O'Donell  <carlos@baldric.uwo.ca>
2376
2377         * sysdeps/unix/sysv/linux/hppa/clone.S (__clone) [PIC]: Save PIC,
2378         reload PIC if we need to call __syscall_error, cleanup asm.
2379
2380 2003-12-17  Carlos O'Donell  <carlos@baldric.uwo.ca>
2381
2382         * sysdeps/hppa/fpu/fclrexcpt.c (feclearexcept): Right shift
2383         FE_ALL_EXCEPT before complimenting.
2384         * sysdeps/hppa/fpu/fegetenv.c (fegetenv): Use asm 'ma,' completer,
2385         and gcc '+r' constraint.
2386         * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise.
2387         * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Likewise.
2388         * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Read raised
2389         exception bits, OR with envp, pass to fesetenv.
2390         * sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Add delayed
2391         exception flushing, FE_UNDERFLOW is DBL_MIN/3.0, FE_INEXACT is
2392         triggered by M_PI/69.69 converted to single precision.
2393         * sysdeps/hppa/fpu/fsetexcptflg.c (fesetexceptflag): Set enable
2394         bits not raised exception bits.
2395
2396         * sysdeps/hppa/Makefile: Add dl-symaddr and dl-fptr to the
2397         correct build strings.
2398         * sysdeps/hppa/dl-fptr.h: New file.
2399         * sysdeps/hppa/dl-fptr.c: Removed.
2400         * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Use _dl_make_ftpr,
2401         remove const qualifier for map.
2402         (_dl_function_address): Removed.
2403         * sysdeps/hppa/dl-lookupcfg.h: DL_LOOKUP_ADDRESS must clear
2404         PLABEL32 bits, define DL_AUTO_FUNCTION_ADDRESS and
2405         DL_STATIC_FUNCTION_ADDRESS, DL_DT_INIT_ADDRESS and
2406         DL_DT_FINI_ADDRESS use the previous two macros.
2407
2408 2003-12-17  Jakub Jelinek  <jakub@redhat.com>
2409
2410         * malloc/mtrace.c (tr_old_memalign_hook): New variable.
2411         (tr_memalignhook): New function.
2412         (mtrace): Register tr_memalignhook.
2413         (muntrace): Deregister tr_memalignhook.
2414         * malloc/malloc.c (__posix_memalign): If __memalign_hook != NULL,
2415         call it directly instead of memalign_internal.
2416
2417 2003-12-17  Ulrich Drepper  <drepper@redhat.com>
2418
2419         * misc/mntent_r.c: Change encoding to match recently changed decoder.
2420         Patch by Alexander Achenbach <xela@slit.de>.
2421
2422 2003-12-16  Steven Munroe  <sjmunroe@us.ibm.com>
2423
2424         * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct definition of
2425         vrregset_t.
2426
2427 2003-12-16  Steven Munroe  <sjmunroe@us.ibm.com>
2428
2429         * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [!__PPC64_ELF_H]: Extend
2430         conditional to include typedef elf_vrreg_t.
2431
2432 2003-12-17  Paolo Bonzini  <bonzini@gnu.org>
2433
2434         * posix/regexec.c (re_search_internal): Limit search to the
2435         beginning of the buffer if the initial states are empty for
2436         contexts that do not include CONTEXT_BEGBUF or, if
2437         !preg->newline_anchor, that do not include any one of
2438         CONTEXT_BEGBUF and CONTEXT_NEWLINE.
2439
2440 2003-12-17  Andreas Jaeger  <aj@suse.de>
2441
2442         * sysdeps/generic/system.c (__libc_system): Fix typo, reported by
2443         Kevin Pedretti <pedretti@ieee.org>.
2444
2445 2003-12-17  Ulrich Drepper  <drepper@redhat.com>
2446
2447         * elf/rtld.c: Don't use strong_alias to define _rtld_local.  This
2448         removes the visibility attributes which might be defined earlier
2449         for some gcc versions.  Instead spell out what strong_alias does
2450         plus the visibility.
2451
2452 2003-12-16  Petter Reinholdtsen  <pere@hungry.com>
2453
2454         * posix/regex_internal.h: Make sure the regex code compile
2455         with non-GCC compilers by hiding attributes.
2456
2457 2003-12-16  Jakub Jelinek  <jakub@redhat.com>
2458             Paolo Bonzini  <bonzini@gnu.org>
2459
2460         * posix/regexec.c (group_nodes_into_DFAstates): Never produce
2461         dests_ch items that are empty.
2462
2463 2003-12-14  Paolo Bonzini  <bonzini@gnu.org>
2464
2465         * posix/regexec.c (check_arrival): Remove duplicate test.
2466
2467 2003-12-15  Ulrich Drepper  <drepper@redhat.com>
2468
2469         * posix/regcomp.c: Make !RE_ENABLE_I18N work again.
2470         * posix/regex_internal.c: Likewise.
2471         * posix/regexec.c: Likewise.
2472         Patch by Paolo Bonzini.
2473
2474 2003-12-14  Paolo Bonzini  <bonzini@gnu.org>
2475
2476         * posix/regex_internal.c (re_acquire_state_context):
2477         Compare the node sets after all the other comparisons.
2478
2479 2003-12-13  Paolo Bonzini  <bonzini@gnu.org>
2480
2481         * posix/regexec.c (find_subexp_node, check_arrival,
2482         check_arrival_add_next_nodes, check_arrival_expand_ecl,
2483         check_arrival_expand_ecl_sub, expand_bkref_cache):
2484         Rename the FL_OPEN parameter to TYPE, which is either
2485         OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP.  Callers adjusted.
2486
2487 2003-12-12  Andreas Jaeger  <aj@suse.de>
2488
2489         * sysdeps/unix/sysv/linux/x86_64/syscall.S: Pass also 6th argument
2490         to syscall.
2491
2492 2003-12-11  Ulrich Drepper  <drepper@redhat.com>
2493
2494         * sysdeps/unix/sysv/linux/kernel-features.h: Remove __ASSUME_VSYSCALL.
2495         There might always be processes which have no vDSO.
2496         * sysdeps/generic/dl-sysdep.c: Remove __ASSUME_VSYSCALL uses.
2497         * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
2498
2499 2003-12-11  Carlos O'Donell  <carlos@baldric.uwo.ca>
2500
2501         * sysdeps/generic/dl-fptr.c (COMPARE_AND_SWAP): Pass new and old
2502         in the right order.
2503
2504 2003-12-01  Jes Sorensen  <jes@wildopensource.com>
2505
2506         * rt/tst-clock.c (do_test): Print message when skipping
2507         CLOCK_PROCESS_CPUTIME_ID test.
2508
2509         * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: New file.
2510         Provide CLOCK_PROCESS_CPUTIME_ID only if /proc/sal/itc_drift is 0.
2511
2512 2003-12-02  David Mosberger  <davidm@hpl.hp.com>
2513
2514         * sysdeps/ia64/elf/initfini.c: Add unwind info.
2515
2516         * sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with
2517         attribute "unused".
2518         (elf_machine_dynamic): Mark with attributes "unused" and "const".
2519         (elf_machine_runtime_setup): Likewise.
2520
2521         * sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with
2522         attribute "always_inline".
2523         * sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table):
2524         Likewise.
2525
2526         * configure.in: Check whether compiler has libunwind support.
2527         * config.make.in (have-cc-with-libunwind): New variable.
2528         * config.h.in (HAVE_CC_WITH_LIBUNWIND): New macro.
2529         * Makeconfig (gnulib): If have-cc-with-libunwind is "yes", also
2530         mention -lunwind.
2531
2532 2003-11-12  David Mosberger  <davidm@hpl.hp.com>
2533
2534         * sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK.
2535         Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK.
2536         Likewise for DO_INLINE_SYSCALL.  Make INTERNAL_SYSCALL use
2537         DO_INLINE_SYSCALL.
2538
2539         * sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK()
2540         instead of DO_CALL().
2541
2542         * sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead
2543         of DO_CALL().
2544
2545         * sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it
2546         to take advantage of DO_CALL() macro.
2547         * sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise.
2548         * sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise.
2549
2550         * elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first
2551         program header.  On ia64, the check failed previously because
2552         there are two program headers.
2553
2554 2003-12-10  Andreas Jaeger  <aj@suse.de>
2555             Ruediger Oertel  <ro@suse.de>
2556
2557         * sysdeps/alpha/fpu/e_sqrt.c: Mark sqrt_data as used.
2558
2559 2003-12-07  Ulrich Drepper  <drepper@redhat.com>
2560
2561         * sysdeps/i386/fpu/s_nexttowardf.c: Construct overflow value correctly.
2562         * sysdeps/i386/fpu/s_nexttoward.c: Likewise.
2563         * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise.
2564         * sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise.
2565         * sysdeps/generic/s_nexttowardf.c: Likewise.
2566         * math/Makefile (tests): Add bug-nexttoward.
2567         * math/bug-nexttoward.c: New file.
2568
2569         * sysdeps/generic/s_nextafter.c: Make sure overflow exception is set.
2570         * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
2571         * math/bug-nextafter.c (main): Add tests for overflow and negative
2572         values.
2573
2574 2003-12-06  Ulrich Drepper  <drepper@redhat.com>
2575
2576         * math/Makefile (tests): Add bug-nextafter.
2577         * math/bug-nextafter.c: New file.
2578         * sysdeps/generic/s_nextafter.c: Construct overflow value correctly.
2579         * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise.
2580         * math/libm-test.inc (nextafter_test): Add test for overflow after
2581         +/-FLT_MAX etc.
2582
2583 2003-12-04  Steven Munroe  <sjmunroe@us.ibm.com>
2584
2585         * sysdeps/powerpc/fpu/fgetexcptflg.c (__fegetexceptflag): Add masking
2586         of fenv.
2587         * sysdeps/powerpc/nofpu/fgetexcptflg.c (__fegetexceptflag): Likewise.
2588
2589 2003-12-05  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2590
2591         * sysdeps/s390/s390-32/elf/setjmp.S (setjmp, __setjmp): Add END
2592         statements.
2593         * sysdeps/s390/s390-64/elf/setjmp.S (setjmp, __setjmp): Likewise.
2594         * sysdeps/s390/s390-32/sysdep.h (ENTRY): Add cfi_startproc directive.
2595         (END): Add cfi_endproc directive.
2596         * sysdeps/s390/s390-64/sysdep.h (ENTRY, END): Likewise.
2597         * sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Remove
2598         cfi_startproc and cfi_endproc directive.
2599         * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise.
2600         * sysdeps/s390/s390-32/addmul_1.S (__mpn_addmul_1): Add CFI directives.
2601         * sysdeps/s390/s390-32/add_n.S (__mpn_add_n): Likewise.
2602         * sysdeps/s390/s390-64/add_n.S (__mpn_add_n): Likewise.
2603         * sysdeps/s390/s390-32/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
2604         Likewise.
2605         * sysdeps/s390/s390-64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
2606         Likewise.
2607         * sysdeps/s390/s390-32/mul_1.S (__mpn_mul_1): Likewise.
2608         * sysdeps/s390/s390-32/sub_n.S (__mpn_sub_n): Likewise.
2609         * sysdeps/s390/s390-64/sub_n.S (__mpn_sub_n): Likewise.
2610         * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S (__mmap64): Likewise.
2611         * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S (__mmap): Likewise.
2612         * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap): Likewise.
2613         * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Likewise.
2614         * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise.
2615         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error):
2616         Likewise.
2617         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error):
2618         Likewise.
2619         * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add CFI
2620         directives. Move thread_start out of ENTRY/PSEUDO_END block to
2621         make backchain terminate.
2622         * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
2623
2624         * sysdeps/s390/s390-32/backtrace.c (trace_arg): New structure.
2625         (unwind_backtrace, unwind_getip): New variables.
2626         (init, __backchain_backtrace, backtrace_helper): New functions.
2627         (__backtrace): Use unwind info for backtrace instead of backchain
2628         walking if the unwind functions can be found.
2629         * sysdeps/s390/s390-64/backtrace.c: Likewise.
2630
2631         * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: New file.
2632
2633         * sysdeps/unix/sysv/linux/s390/sys/procfs.h (ELF_NGREG32): New #define.
2634         (elf_greg_t32, elf_gregset_t32, elf_fpregset_t32): New types.
2635         (elf_prstatus32, elf_prpsinfo32): New structures.
2636         (prgregset32_t, prfpregset32_t, prstatus32_t, prpsinfo32_t): New types.
2637
2638         * scripts/data/c++-types-s390-linux-gnu.data: New file.
2639         * scripts/data/c++-types-s390x-linux-gnu.data: New file.
2640
2641 2003-11-30  Petter Reinholdtsen  <pere@hungry.com>
2642
2643         * stdlib/strfmon.c: Correct formatting of international currency
2644         values.  The international currency formatting should prefer the
2645         int_* values if they are set for a locale, and use the domestic
2646         values if the int_* values are unset.
2647
2648 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
2649
2650         * posix/Makefile (distribute): Add BOOST.tests.
2651         (tests): Add tst-boost, depend on tst-boost-mem.
2652         (generated): Add tst-boost-mem and tst-boost.mtrace.
2653         (tst-boost-ARGS, tst-boost-ENV): Set.
2654         ($(objpfx)tst-boost-mem): New.
2655         * posix/tst-boost.c: New test.
2656         * posix/BOOST.tests: New file.
2657
2658         * posix/Makefile (distribute): Add PCRE.tests.
2659         (tests): Add tst-pcre, depend on tst-pcre-mem.
2660         (generated): Add tst-pcre-mem and tst-pcre.mtrace.
2661         (tst-pcre-ARGS, tst-pcre-ENV): Set.
2662         ($(objpfx)tst-pcre-mem): New.
2663         * posix/tst-pcre.c: New test.
2664         * posix/PCRE.tests: New file.
2665
2666 2003-12-02  Jakub Jelinek  <jakub@redhat.com>
2667
2668         * intl/locale.alias: Use nb_NO instead of no_NO for bokm.l.
2669
2670         * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
2671         * sysdeps/s390/fpu/libm-test-ulps: Regenerated.
2672
2673 2003-12-03  Ulrich Drepper  <drepper@redhat.com>
2674
2675         * locale/programs/locarchive.c (enlarge_archive): Print size info
2676         only in verbose mode.
2677
2678         * locale/iso-3166.def: Three letter code of Romania changed.
2679
2680 2003-12-02  Roland McGrath  <roland@redhat.com>
2681
2682         * scripts/config.sub: Update from master, timestamp='2003-10-20'.
2683         * scripts/config.guess: Update from master, timestamp='2003-10-20'.
2684
2685 2003-11-30  Andreas Jaeger  <aj@suse.de>
2686
2687         * config.make.in (fno-unit-at-a-time): Define.
2688
2689         * configure.in: Add test for -fno-unit-at-a-time.
2690         Fix text for -fpie.
2691
2692         * csu/Makefile (CFLAGS-initfini.s): Add $(fno_unit_at_a_time).
2693         * locale/Makefile (CFLAGS-loadlocale.c): Likewise.
2694
2695 2003-12-01  Automatic
2696
2697         * version.h (VERSION): Bump to 2.3.3.
2698
2699 2003-11-30  Andreas Jaeger  <aj@suse.de>
2700
2701         * stdio-common/vfprintf.c: Do not inline buffered_vfprintf to
2702         decrease stack usage.
2703
2704 2003-11-30  Andreas Schwab  <schwab@suse.de>
2705
2706         * sysdeps/unix/sysv/linux/m68k/sysdep.h (PSEUDO_ERRVAL)
2707         (PSEUDO_END_ERRVAL, ret_ERRVAL): Define.
2708
2709 2003-11-29  Ulrich Drepper  <drepper@redhat.com>
2710
2711         * misc/mntent_r.c (decode_name): Be compatible with util-linux and
2712         recognize \134 as well.
2713
2714 2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>
2715
2716         * sysdeps/ia64/fpu/fraiseexcpt.c: Don't include <asm/fpu.h>.
2717
2718 2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>
2719
2720         * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include
2721         <asm/fpu.h>.
2722         (struct ia64_fpreg): New definition.
2723
2724         * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include
2725         <asm/elf.h>.
2726         (ELF_NGREG): New #define.
2727         (ELF_NFPREG): Likewise.
2728         (elf_greg_t): New type.
2729         (elf_gregset_t): Likewise.
2730         (elf_fpreg_t): Likewise.
2731         (elf_fpregset_t): Likewise.
2732
2733 2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>
2734
2735         * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include
2736         <sys/ucontext.h>.
2737         (__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS.
2738         (pt_all_user_regs): New type.
2739
2740 2003-10-10  Simon Josefsson  <jas@extundo.com>
2741
2742         * argp/argp-namefrob.h [!_LIBC]: Include mempcpy.h, strcase.h,
2743         strchrnul.h, strndup.h (from gnulib).
2744         * argp/argp-parse.c: Add alloca.h include snippet verbatim from
2745         Autoconf manual.
2746         * argp/argp-help.c: Replace alloca.h include snipper with verbatim
2747         Autoconf manual version.
2748         * argp/argp.h: Map __restrict to restrict or empty string when
2749         necessary, copied verbatim from posix/regex.h.
2750
2751 2003-10-09  Steven Munroe  <sjmunroe@us.ibm.com>
2752
2753         * Makefile: Allow for c++-types-$(config-machine)-$(config-os).data in
2754         addition to c++-types-$(base-machine)-$(config-os).data.
2755         * scripts/data/c++-types-powerpc-linux-gnu.data: New file.
2756         * scripts/data/c++-types-powerpc64-linux-gnu.data: New file.
2757
2758 2003-11-28  Ulrich Drepper  <drepper@redhat.com>
2759
2760         * misc/mntent_r.c (decode_name): Fix decoding of tab, add decoding
2761         of newline.
2762         * manual/sysinfo.texi (mtab): Adjust description accordingly.
2763         Reported by Andries.Brouwer@cwi.nl.
2764
2765         * sysdeps/x86_64/fpu/libm-test-ulps: Add some more minor changes
2766         to compensate other setup.
2767
2768 2003-11-27  Andreas Jaeger  <aj@suse.de>
2769
2770         * sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for new atan2 test.
2771
2772         * math/libm-test.inc (atan2_test): Add test that run infinitly.
2773         Reported by "Willus" <etc231etc231@willus.com>.
2774
2775 2003-11-27  Michael Matz  <matz@suse.de>
2776
2777         * sysdeps/ieee754/dbl-64/mpsqrt.c (fastiroot): Fix 64-bit problem
2778         with wrong types.
2779
2780 2003-11-28  Jakub Jelinek  <jakub@redhat.com>
2781
2782         * posix/regexec.c (acquire_init_state_context): Make inline.
2783         Add always_inline attribute.
2784         (check_matching): Add BE macro.  Move if (cur_state->has_backref)
2785         into if (dfa->nbackref).
2786         (sift_states_backward): Fix comment.
2787         (transit_state): Add BE macro.  Move if (next_state->has_backref)
2788         into if (dfa->nbackref && next_state).  Don't check for next_state
2789         != NULL twice.
2790         * posix/regcomp.c (peek_token): Use opr.ctx_type instead of opr.idx
2791         for ANCHOR.
2792         (parse_expression): Only call init_word_char if word context will be
2793         needed.
2794
2795         * posix/bug-regex11.c (tests): Add new tests.
2796
2797         * posix/tst-regex.c: Include getopt.h.
2798         (timing): New variable.
2799         (main): Set timing to 1 if --timing argument is present.
2800         Add 2 new tests.
2801         (run_test, run_test_backwards): Handle timing.
2802
2803 2003-11-27  Jakub Jelinek  <jakub@redhat.com>
2804
2805         * posix/regex_internal.h (re_string_t): Remove mbs_case field.
2806         Add offsets, valid_raw_len, raw_len, raw_stop, mbs_allocated and
2807         offsets_needed fields.  Change icase, is_utf8 and map_notascii
2808         type from int bitfield to unsigned char.
2809         (MBS_ALLOCATED, MBS_CASE_ALLOCATED): Remove.
2810         (build_wcs_upper_buffer): Change prototype to return int.
2811         (re_string_peek_byte_case, re_string_fetch_byte_case): Remove
2812         defines, add prototypes.
2813         * posix/regex_internal.c (re_string_allocate): Don't initialize
2814         stop here.  Don't initialize mbs_case.  Set valid_raw_len.
2815         Use mbs_allocated instead of MBS_* macros.
2816         (re_string_construct): Don't initialize stop and valid_len here.
2817         Don't initialize mbs_case.  Use mbs_allocated instead of MBS_*
2818         macros.  Reallocate buffers if build_wcs_upper_buffer converted
2819         too few bytes.  Set valid_len to bufs_len only for single byte
2820         no translation and set in that case valid_raw_len as well.
2821         (re_string_realloc_buffers): Reallocate offsets if not NULL.
2822         Use mbs_allocated instead of MBS_ALLOCATED.  Don't reallocate
2823         mbs_case.
2824         (re_string_construct_common): Initialize raw_len, mbs_allocated,
2825         stop and raw_stop.
2826         (build_wcs_buffer): Apply pstr->trans before mbrtowc instead of
2827         after it.  Set valid_raw_len.  Don't set mbs_case.
2828         (build_wcs_upper_buffer): Return REG_NOERROR or REG_ESPACE.
2829         Only use the fast path if !pstr->offsets_needed.  Apply pstr->trans
2830         before mbrtowc instead of after it.  If upper case character
2831         uses different number of bytes than lower case, goto to the
2832         slow path.  Don't call towupper unnecessarily twice.  Set
2833         valid_raw_len as well.  Handle in the slow path the case if
2834         lower and upper case use different number of characters.
2835         Don't set mbs_case.
2836         (re_string_skip_chars): Use valid_raw_len instead of valid_len.
2837         (build_upper_buffer): Don't set mbs_case.  Add BE macro.  Set
2838         valid_raw_len.
2839         (re_string_translate_buffer): Set mbs instead of mbs_case.  Set
2840         valid_raw_len.
2841         (re_string_reconstruct): Use raw_len/raw_stop to initialize
2842         len/stop.  Clear valid_raw_len and offsets_needed when clearing
2843         valid_len.  Use mbs_allocated instead of MBS_* macros.
2844         Check original offset against valid_raw_len instead of valid_len.
2845         Remove mbs_case handling.  Adjust valid_raw_len together with
2846         valid_len.  If is_utf8 and looking for tip context, apply
2847         pstr->trans first.  If buffers start with partial multi-byte
2848         character, initialize mbs array as well if mbs_allocated.
2849         Check return value of build_wcs_upper_buffer.
2850         (re_string_peek_byte_case): New function.
2851         (re_string_fetch_byte_case): New function.
2852         (re_string_destruct): Use mbs_allocated instead of MBS_ALLOCATED.
2853         Don't free mbs_case.  Free offsets.
2854         * posix/regcomp.c (init_dfa): Only check if charset name is UTF-8
2855         if mb_cur_max == 6.
2856         * posix/regexec.c (re_search_internal): Initialize input.raw_stop
2857         as well.  Use valid_raw_len instead of valid_len when looking
2858         through fastmap.  Adjust registers through input.offsets.
2859         (extend_buffers): Allow build_wcs_upper_buffer to fail.
2860         * posix/bug-regex18.c (tests): Enable #ifdefed out tests.  Add new
2861         tests.
2862
2863 2003-11-26  Jakub Jelinek  <jakub@redhat.com>
2864
2865         * posix/regexec.c (check_subexp_limits): Only check close
2866         subexpression limitation if one is found.  Formatting.
2867         (sift_states_backward, check_arrival, check_arrival_add_next_nodes):
2868         Formatting.
2869         * posix/bug-regex11.c (tests): Enable most #ifdefed out tests.
2870         Add new test.
2871
2872 2003-11-26  Ulrich Drepper  <drepper@redhat.com>
2873
2874         * sysdeps/unix/sysv/linux/kernel-features.h
2875         (__ASSUME_PROT_GROWSUPDOWN): Define for 2.6.1 and up.
2876         * sysdeps/unix/sysv/linux/dl-execstack.c: Omit compatibility code
2877         if __ASSUME_PROT_GROWSUPDOWN is defined.
2878
2879 2003-11-26  Andreas Jaeger  <aj@suse.de>
2880
2881         * sysdeps/unix/sysv/linux/dl-execstack.c
2882         (_dl_make_stack_executable): Set dl_stack_flags always for
2883         success.
2884
2885 2003-06-22  Petter Reinholdtsen  <pere@hungry.com>
2886
2887         * locale/program/ld-monetary.c: Only check the first three
2888         characters in int_curr_symbol against ISO-4217, to make the
2889         separator character used by a locale independent of the content
2890         in iso-4217.def.
2891         * locale/iso-4217.def: Remove the space character from all
2892         currency values to get the new test code in ld-monetary.c working.
2893
2894 2003-11-21  David Mosberger  <davidm@hpl.hp.com>
2895
2896         * elf/soinit.c (_fini): Put _fini() in .init_array section if
2897         HAVE_INITFINI_ARRAY is defined.
2898
2899 2003-11-25  Ulrich Drepper  <drepper@redhat.com>
2900
2901         * sysdeps/i386/fpu/bits/mathinline.h: Introduce __libc_sqrtl symbol.
2902         Define it appropriately after last change.  Use it where __sqrtl
2903         was used.
2904
2905 2003-11-25  H.J. Lu  <hongjiu.lu@intel.com>
2906
2907         * sysdeps/i386/fpu/bits/mathinline.h (sqrt): Don't inline
2908         sqrt for gcc 3.3 and above.
2909
2910 2003-11-25  Ulrich Drepper  <drepper@redhat.com>
2911
2912         * posix/runptests.c (main): Make errors fatal.
2913         * posix/PTESTS: One test in GA135 and GA136 check functionality
2914         which seems not guaranteed.
2915
2916 2003-11-25  Jakub Jelinek  <jakub@redhat.com>
2917
2918         * posix/regexec.c (re_search_internal): If prune_impossible_nodes
2919         returned REG_NOMATCH, set match_last to -1.  Don't initialize
2920         pmatch[0] needlessly.  Fix comment.
2921         (prune_impossible_nodes): Don't segfault on NULL state_log entry.
2922         (set_regs): Fix comment.
2923         * posix/regcomp.c (parse_bracket_exp): Only set has_plural_match
2924         if adding both SIMPLE_BRACKET and COMPLEX_BRACKET.
2925         (build_charclass_op): Set has_plural_match if adding both
2926         SIMPLE_BRACKET and COMPLEX_BRACKET.
2927         * posix/bug-regex11.c (tests): Fix register values for one commented
2928         out test.  Add new tests.
2929
2930         * posix/regex_internal.c (re_string_allocate): Make sure init_len
2931         is at least dfa->mb_cur_max.
2932         (re_string_reconstruct): If is_utf8, don't fall back into
2933         re_string_skip_chars just because idx points into a middle of
2934         valid UTF-8 character.  Instead, set the wcs bytes which correspond
2935         to the partial character bytes to WEOF.
2936         * posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1
2937         instead of dfa->nodes_len + 1 state_log entries initially.
2938         * posix/bug-regex20.c (main): Uncomment backwards case insensitive
2939         tests.
2940
2941 2003-11-24  Jakub Jelinek  <jakub@redhat.com>
2942
2943         * posix/regex_internal.h (re_token_t): Add word_char bit.  Add
2944         comment.
2945         (re_dfa_t): Add sb_char field.
2946         (bitset_mask): New function.
2947         * posix/regcomp.c (free_dfa_content): Free sb_char.
2948         (init_dfa): Don't initialize word_char unnecessarily.
2949         Initialize sb_char.
2950         (duplicate_node): Don't duplicate !word_char CHARACTERs with
2951         NEXT_WORD_CONSTRAINT constraint or word_char CHARACTERs with
2952         NEXT_NOTWORD_CONSTRAINT.  Return -1 in *new_idx instead.
2953         (duplicate_node_closure): Handle clone_dest == -1 from
2954         duplicate_node.
2955         (peek_token): Initialize word_char bit.
2956         (parse_expression, parse_dup_op): Add comments.
2957         (parse_bracket_exp): Don't set bitmask bits for multi-byte char
2958         starting bytes here at the beginning.  Mask off the bits right
2959         before creating SIMPLE_BRACKET.
2960         (build_charclass_op): Likewise.
2961         * posix/regexec.c (group_nodes_into_DFAstates) <case OP_PERIOD>: Only
2962         set accept bits for single-byte characters.
2963         (group_nodes_into_DFAstates): Don't rely on characters 0 .. 127
2964         being single byte encoded and the rest multi-byte.
2965         * posix/bug-regex19.c (tests): Add new tests.
2966         (do_mb_tests): Initialize t to *test.
2967         (main): Fail even on do_mb_tests errors.
2968
2969 2003-11-23  Ulrich Drepper  <drepper@redhat.com>
2970
2971         * posix/regexec.c: Correct several memory allocation problems.
2972         Add more BE.
2973         * posix/regex_internal.c: Likewise.
2974         * posix/regcomp.c: Likewise.
2975
2976         * posix/regexec.c: Add const in a number of places.
2977         * posix/regex_internal.h: Make EPSILON_BIT a macro to help
2978         debugging.  Its value isn't important.
2979
2980 2003-11-22  Ulrich Drepper  <drepper@redhat.com>
2981
2982         * posix/PTESTS: Fix first test of GA143.
2983
2984 2003-11-21  Ulrich Drepper  <drepper@redhat.com>
2985
2986         * posix/regex_internal.c (re_dfa_add_node): Add BE, reallocation
2987         isn't likely.
2988
2989         * locale/programs/charmap.c (charmap_read): If encoding is found
2990         not ASCII compatible, set enc_not_ascii_compatible.
2991         * locale/programs/charmap.h: Declare enc_not_ascii_compatible.
2992         * locale/programs/ld-ctype.c (ctype_startup): If
2993         enc_not_ascii_compatible is set, initialize to_nonascii to 1.
2994
2995 2003-11-22  Jakub Jelinek  <jakub@redhat.com>
2996
2997         * elf/rtld.c (process_envvars): Only honor LD_USE_LOAD_BIAS
2998         if !__libc_enable_secure.
2999
3000         * sysdeps/generic/ldsodefs.h (_dl_use_load_bias): New _rtld_global
3001         field.
3002         * elf/rtld.c (_rtld_global): Initialize _dl_use_load_bias field.
3003         (dl_main): Set GL(dl_use_load_bias) default.
3004         (process_envvars): Set GL(dl_use_load_bias) from LD_USE_LOAD_BIAS.
3005         Add EXTRA_LD_ENVVARS_13.
3006         * elf/dl-support.c (_dl_use_load_bias): New variable.
3007         * elf/dl-load.c (_dl_map_object_from_fd): Mask c->mapstart
3008         with GL(dl_use_load_bias).
3009         * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add
3010         LD_USE_LOAD_BIAS.
3011         * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Remove.
3012         (EXTRA_LD_ENVVARS_LINUX): Renamed to...
3013         (EXTRA_LD_ENVVARS_13): ... this.  Remove case at the beginning.
3014         * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
3015         Don't undefine first.  Remove EXTRA_LD_ENVVARS_LINUX.
3016
3017 2003-11-21  Ulrich Drepper  <drepper@redhat.com>
3018
3019         * posix/regcomp.c (duplicate_node): Remove unnecessary local variable.
3020
3021         * posix/regcomp.c (re_dfa_add_tree_node): Make fourth parameter a
3022         pointer.  Adjust callers.
3023
3024         * posix/regcomp.c (fetch_token): Change interface to match
3025         peek_token.  This avoids some copying and reduces code size.
3026
3027 2003-11-21  Jakub Jelinek  <jakub@redhat.com>
3028
3029         * posix/bug-regex19.c (tests): Add more tests.
3030
3031         * posix/bug-regex11.c: And one more commented out test.
3032
3033         * posix/tst-rxspencer.c (mb_tests): Don't run identical multi-byte
3034         tests multiple times unnecessarily.
3035
3036         * posix/bug-regex19.c (BRE, ERE): Define.
3037         (tests): Add many new tests, remove UTF-8 ones.
3038         (do_one_test, do_mb_tests): New functions.
3039         (main): Rewritten using do_one_test and do_mb_tests.
3040
3041 2003-11-20  Ulrich Drepper  <drepper@redhat.com>
3042
3043         * posix/PTESTS: Fix first test in GA143.
3044
3045 2003-11-20  Jakub Jelinek  <jakub@redhat.com>
3046
3047         * posix/regex_internal.h (re_dfastate_t): Remove trtable_search.
3048         Add word_trtable.
3049         * posix/regex_internal.c (create_newstate_common, free_state):
3050         Don't free trtable_search.
3051         * posix/regexec.c (check_matching): Remove fl_search argument.
3052         (transit_state_sb): Likewise.  #ifdef out as unused.
3053         (build_trtable): Remove fl_search argument.  Set state->word_trtable
3054         and state->trtable.  Build separate word and non-word tables if
3055         multi-byte and they differ for some character.
3056         (transit_state): Remove fl_search argument.  Don't update
3057         state->trtable here.  Handle state->word_trtable.
3058         #ifdef out unused call to transit_state_sb.
3059         (re_search_internal): Update check_matching caller.
3060         (group_nodes_into_DFAstates): Don't clear non-ascii chars in accepts
3061         bitmask for multi-byte locales.
3062         * posix/bug-regex19.c (tests): Enable some commented out tests, add
3063         2 new tests.
3064         * posix/tst-rxspencer.c (mb_tests): Don't test [[=b=]] for now as
3065         multi-byte.  Don't run identical multi-byte tests multiple times
3066         unnecessarily.
3067         (main): Check setlocale return value.
3068         * posix/Makefile (tst-rxspencer-ARGS): Add --utf8 argument.
3069         (tst-rxspencer-ENV): Remove MALLOC_TRACE, add LOCPATH.
3070         ($(objpfx)tst-rxspencer-mem): Run another tst-rxspencer test
3071         here, without --utf8 argument but with MALLOC_TRACE.
3072
3073 2003-11-19  Jakub Jelinek  <jakub@redhat.com>
3074
3075         * posix/regexec.c (extend_buffers): Don't allocate
3076         twice as big state_log as needed.  Don't modify pstr->valid_len
3077         for mb_cur_max == 1 !icase !trans.
3078
3079         * posix/regcomp.c (free_bin_tree): Removed.
3080         (create_tree): Add dfa argument.  Don't call re_malloc for
3081         each tree, instead allocate from str_tree_storage.
3082         (re_dfa_add_tree_node): New function.
3083         (free_dfa_content): Handle freeing if dfa->nodes == NULL
3084         or dfa->state_table == NULL.
3085         (re_compile_internal): Call free_dfa_content if init_dfa
3086         fails.  Call free_workarea_compile, re_string_destruct
3087         and free_dfa_content for most of the other failure paths.
3088         (init_dfa): Initialize str_tree_storage_idx.
3089         Don't clear any fields on allocation failure.
3090         (free_workarea_compile): Free str_tree_storage chunks
3091         instead of free_bin_tree (dfa->str_tree).
3092         (parse): Call re_dfa_add_tree_node instead of re_dfa_add_node
3093         followed by create_tree.  Add dfa argument to remaining
3094         create_tree calls.  Remove new_idx variable.  Remove calls
3095         to free_bin_tree.
3096         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp,
3097         parse_dup_op, parse_bracket_exp, build_charclass_op): Likewise.
3098         (duplicate_tree): Remove calls to free_bin_tree, add dfa
3099         argument to create_tree.
3100         * posix/regex_internal.h (BIN_TREE_STORAGE_SIZE): Define.
3101         (bin_tree_storage_t): New type.
3102         (re_dfa_t): Add str_tree_storage and str_tree_storage_idx
3103         fields.
3104         * posix/Makefile (tests): Add bug-regex21.
3105         (generated): Add bug-regex21-mem, bug-regex21.mtrace,
3106         tst-rxspencer-mem and tst-rxspencer.mtrace.
3107         (tests): Depend on $(objpfx)bug-regex21-mem
3108         and $(objpfx)tst-rxspencer-mem.
3109         (bug-regex21-ENV, tst-rxspencer-ENV): Set.
3110         ($(objpfx)bug-regex21-mem, $(objpfx)tst-rxspencer-mem): New.
3111         * posix/tst-rxspencer.c (main): Add call to mtrace.
3112         Free line at the end.
3113         * posix/bug-regex21.c: New test.
3114
3115 2003-11-19  Ulrich Drepper  <drepper@redhat.com>
3116
3117         * posix/bug-regex20.c: Correct invalid UTF-8 sequences.
3118
3119         * posix/regex_internal.c (build_wcs_upper_buffer): If mbrtowc
3120         fails, just use the byte, do no fancy conversions.
3121
3122         * posix/regex_internal.h (re_string_first_byte): Use ->valid_len
3123         not ->len.
3124         (re_string_is_single_byte_char): Likewise.
3125
3126 2003-11-18  Ulrich Drepper  <drepper@redhat.com>
3127
3128         * posix/regexec.c (get_subexp): After calling get_subexp_sub
3129         reload buf and bkref_str.  Little optimization by avoiding memcmp.
3130
3131 2003-11-14  David Mosberger   <davidm@hpl.hp.com>
3132
3133         * sysdeps/unix/sysv/linux/ia64/sysdep.h
3134         (GAS_ALIGN_BREAKS_UNWIND_INFO): Define this macro to indicate
3135         that all existing GAS versions have a problem with .align inside
3136         a function.
3137         * sysdeps/ia64/memccpy.S: Work around GAS_ALIGN_BREAKS_UNWIND_INFO bug.
3138         * sysdeps/ia64/memcpy.S: Likewise.
3139         * sysdeps/ia64/memset.S: Likewise.
3140         * sysdeps/ia64/memmove.S: Likewise.  Also move the jump-table to
3141         out of .text into .rodata, where it belongs.
3142
3143         * sysdeps/unix/sysv/linux/ia64/pipe.S: There is no need to
3144         save/restore input-arguments, because they're necessarily
3145         preserved by the kernel to support syscall-restart.
3146
3147 2003-11-18  Jakub Jelinek  <jakub@redhat.com>
3148
3149         * posix/regex_internal.h (re_token_type_t): Remove unused ALT,
3150         END_OF_RE_TOKEN_T and SUBEXP.  Reorder values.  Add OP_UTF8_PERIOD
3151         and EPSILON_BIT.
3152         (IS_EPSILON_NODE): Just test if EPSILON_BIT is set.
3153         (ACCEPT_MB_NODE): Return 1 for OP_UTF8_PERIOD as well.
3154         * posix/regex_internal.c (create_ci_newstate, create_cd_newstate):
3155         Handle OP_UTF8_PERIOD.
3156         (re_string_reconstruct): Set valid_len for single byte char searching
3157         with no translation and case sensitivity.
3158         * posix/regcomp.c (re_compile_fastmap_iter, calc_first): Handle
3159         OP_UTF8_PERIOD.
3160         (re_compile_internal): Don't call optimize_utf8 if preg->translate
3161         != NULL.
3162         (optimize_utf8): Remove BACK_SLASH case.
3163         Transform OP_PERIOD into OP_UTF8_PERIOD if the searching can be
3164         optimized.
3165         (parse_bracket_exp): Don't create SIMPLE_BRACKET if it doesn't have
3166         any bits set and COMPLEX_BRACKET is used.
3167         * posix/regexec.c (transit_state_mb): Fix comment typo.
3168         (group_nodes_into_DFAstates, check_node_accept): Handle
3169         OP_UTF8_PERIOD.
3170         (check_node_accept_bytes): Likewise.  Reorder slightly so that
3171         re_string_char_size_at and re_string_elem_size_at are called
3172         only when needed.
3173         * posix/bug-regex20.c (BRE, ERE): Define.
3174         (tests): Use them to make lines shorter.  Expect . to be
3175         optimized.  Add lots of new tests.
3176         (main): Run (ATM just case sensitive) test with backwards searching
3177         as well.
3178
3179 2003-11-18  Jakub Jelinek  <jakub@redhat.com>
3180
3181         * io/bug-ftw4.c: Include string.h.
3182         * posix/fnmatch.c (mbsinit): Remove define.
3183
3184 2003-11-17  Jakub Jelinek  <jakub@redhat.com>
3185
3186         * posix/regcomp.c (optimize_utf8): Optimize multi-byte chars as
3187         well.
3188         * posix/bug-regex20.c (tests): Add new tests.  Multi-byte char
3189         followed by dup operator is expected to be optimized.
3190
3191         * posix/regexec.c (check_node_accept_bytes): Move nrules and j
3192         variables to the block where they are only used, initialize
3193         nrules only immediately before using it.
3194
3195 2003-11-15  Andreas Jaeger  <aj@suse.de>
3196
3197         * sysdeps/x86_64/fpu/s_scalbnl.S: New file.
3198         * sysdeps/x86_64/fpu/s_truncl.S: New file.
3199         * sysdeps/x86_64/fpu/s_nearbyintl.S: New file.
3200         * sysdeps/x86_64/fpu/s_floorl.S: New file.
3201         * sysdeps/x86_64/fpu/s_ilogbl.S: New file.
3202         * sysdeps/x86_64/fpu/e_remainderl.S: New file.
3203
3204         * math/libm-test.inc (floor_test): Test also ±0.25.
3205         (ceil_test): Test -0.25.
3206
3207 2003-11-17  Ulrich Drepper  <drepper@redhat.com>
3208
3209         * sysdeps/posix/getaddrinfo.c: Add support for destination address
3210         selection according to RFC 3484.
3211
3212 2003-11-15  Ulrich Drepper  <drepper@redhat.com>
3213
3214         * posix/regex_internal.h: Add forward declaration of re_dfa_t.
3215         Replace last two parameters of re_string_allocate and
3216         re_string_construct with pointer to DFA.
3217         (re_dfa_t): Add map_notascii field.
3218         * posix/regcomp.c (re_compile_internal): Add call of
3219         re_string_construct.
3220         (init_dfa): Initialize map_notascii.
3221         * posix/regex_internal.c: Adjust definitions of re_string_allocate
3222         and re_string_construct.
3223         Pass DFA to re_string_construct.  Adjust definition.  Initialize
3224         map_notascii field.
3225         (build_wcs_upper_buffer): If map_notascii is zero use simplified
3226         method to map ASCII values to upper case.
3227         * posix/regex.c: Include localeinfo.h.
3228         * posix/regexec.c: Adjust call of re_string_allocate.
3229
3230         * locale/langinfo.h: Add _NL_CTYPE_MAP_TO_NONASCII.
3231         * locale/localeinfo.h (LIMAGIC): Change value.
3232         * locale/categories.def. Add entry for _NL_CTYPE_MAP_TO_NONASCII.
3233         * locale/C-ctype.h: Likewise.
3234         * locale/programs/ld-ctype.c: Compute whether any mapping maps from
3235         ASCII to non-ASCII value.  Write out that value.
3236
3237         * wcsmbs/mbsinit.c: Undef mbsinit and __mbsinit.
3238         * include/wchar.h: Provide inline versions of mbsinit and __mbsinit.
3239
3240 2003-11-14  Jakub Jelinek  <jakub@redhat.com>
3241
3242         * posix/tst-rxspencer.c (check_match): @ without any following
3243         characters must match only end of string.
3244         (main): Fix filename in error message.
3245
3246 2003-11-12  David Mosberger  <davidm@hpl.hp.com>
3247
3248         * sysdeps/ia64/dl-machine.h: Force inlining of
3249         elf_machine_runtime_setup().
3250
3251 2003-11-13  Andreas Jaeger  <aj@suse.de>
3252
3253         * math/Makefile (CFLAGS-test-float.c): Add -fno-builtin.
3254         (CFLAGS-test-double.c): Likewise.
3255         (CFLAGS-test-ldouble.c): Likewise.
3256         (CPPFLAGS-test-ifloat.c): Likewise.
3257         (CPPFLAGS-test-idouble.c): Likewise.
3258         (CPPFLAGS-test-ildoubl.c): Likewise.
3259
3260         * math/libm-test.inc (ceil_test): Test ceil (0.25).
3261
3262 2003-11-04  Ulrich Drepper  <drepper@redhat.com>
3263
3264         * sysdeps/unix/sysv/linux/ifaddrs.c: Make sure it's the kernel who
3265         sends the netlink data.
3266         * sysdeps/unix/sysv/linux/check_pf.c: Likewise.
3267
3268 2003-11-13  Jakub Jelinek  <jakub@redhat.com>
3269
3270         * posix/regcomp.c (optimize_utf8): Optimize even if SIMPLE_BRACKET
3271         with no bits set for >= 0x80 chars is seen.
3272         * posix/bug-regex20.c (tests): Add new tests.  Expect [ABC] to be
3273         optimized.
3274         (main): Run all tests with RE_ICASE as well.
3275
3276 2003-11-13  Ulrich Drepper  <drepper@redhat.com>
3277
3278         * posix/Makefile: Add rules to build and run tst-rxspencer.
3279         (distribute): Add rxspencer/tests and rxspencer/COPYRIGHT.
3280         * posix/tst-rxspencer.c: New file.
3281         * posix/rxspencer/tests: New file.
3282         * posix/rxspencer/COPYRIGHT: New file.
3283         Patch mostly by Jakub Jelinek.
3284
3285         * posix/regcomp.c (parse_bracket_exp): Don't check for range if
3286         this is no option given the first token.
3287
3288         * posix/regcomp.c (parse_bracket_exp): Fix test for EOS after
3289         hyphen in range expression.  Return EBRACK in this case.
3290
3291         * posix/regcomp.c (parse_bracket_element): Reject hyphens unless
3292         we expect them or it's the last element in the bracket expression.
3293         Indicated by new parameter.  Adjust all callers.
3294
3295         * posix/runtests.c (run_a_test): If regcomp failed, reset last_pattern.
3296         Prettier error messages.
3297
3298         * posix/regcomp.c (parse_dup_op): Fail with REG_BADBR is first
3299         number in {,} expression is larger.
3300
3301 2003-11-13  Andreas Jaeger  <aj@suse.de>
3302
3303         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_TGKILL):
3304         Define appropriately for x86_64.
3305         (__ASSUME_UTIMES): Likewise.
3306         (__ASSUME_CLONE_THREAD_FLAGS): Likewise.
3307
3308         * sysdeps/x86_64/fpu/s_ceill.S: New file.
3309
3310 2003-11-13  Ulrich Drepper  <drepper@redhat.com>
3311
3312         * posix/regcomp.c (parse_expression): In BRE consecutive
3313         duplications are not allowed.
3314
3315 2003-11-12  Ulrich Drepper  <drepper@redhat.com>
3316
3317         * posix/regcomp.c (parse_bracket_exp): If end of expression is
3318         seen, return EBRACK error, not BADPAT.
3319
3320         * posix/regcomp.c (parse_expression): If token is OP_OPEN_DUP_NUM
3321         and RE_CONTEXT_INVALID_DUP syntax flag is set, fail.
3322         * posix/regex.h (RE_CONTEXT_INVALUD_OPS): New macro.
3323         (RE_SYNTAX_POSIX_BASIC): Use RE_CONTEXT_INVALUD_OPS.
3324
3325         * posix/regcomp.c (parse_sub_exp): In case of not-matching ( )
3326         return REG_EPAREN.
3327
3328         * posix/PTESTS: Cleanup.  Fix typoes.  Correct bugs in 2003.2.
3329         * posix/runptests.c (main): Handle comments.
3330         * posix/PTESTS2C.sed: Handle comments.
3331
3332 2003-11-12  Jakub Jelinek  <jakub@redhat.com>
3333
3334         * posix/regcomp.c (optimize_utf8): New function.
3335         (re_compile_fastmap_iter): Use dfa->mb_cur_max > 1 instead
3336         of !icase.
3337         (re_compile_internal): Call optimize_utf8 if not case insensitive
3338         and in UTF-8 locale.
3339         * posix/regex_internal.h: Ifdef out some prototypes if
3340         RE_NO_INTERNAL_PROTOTYPES is defined to shut up warnings.
3341         * posix/Makefile (tests): Add bug-regex20.
3342         (bug-regex20-ENV): Add LOCPATH.
3343         * posix/bug-regex20.c: New test.
3344
3345 2003-11-12  Jakub Jelinek  <jakub@redhat.com>
3346
3347         * io/ftw.c (NFTW_NEW_NAME, NFTW_OLD_NAME): Add prototypes.
3348
3349 2003-11-12  Jakub Jelinek  <jakub@redhat.com>
3350
3351         * posix/tst-regex.c (umemlen): New variable.
3352         (test_expr): Add expectedicase argument.  Test case insensitive
3353         searches as well as backwards searches (case sensitive and
3354         insensitive) too.
3355         (run_test): Add icase argument.  Use it to compute regcomp flags.
3356         (run_test_backwards): New function.
3357         (main): Cast read to size_t to avoid warning.  Set umemlen.
3358         Add expectedicase arguments to test_expr.
3359         * posix/regex_internal.c (re_string_reconstruct): If is_utf8,
3360         find previous character by walking back instead of converting
3361         all chars from beginning.
3362
3363 2003-11-12  Jakub Jelinek  <jakub@redhat.com>
3364
3365         * posix/regex_internal.h (struct re_string_t): Add is_utf8
3366         and mb_cur_max fields.
3367         (struct re_dfa_t): Likewise.  Reorder fields to make structure
3368         smaller on 64-bit arches.
3369         (re_string_allocate, re_string_construct): Add mb_cur_max and
3370         is_utf8 arguments.
3371         (re_string_char_size_at, re_string_wchar_at): Use pstr->mb_cur_max
3372         instead of MB_CUR_MAX.
3373         * posix/regcomp.c (re_compile_fastmap_iter): Use dfa->mb_cur_max
3374         instead of MB_CUR_MAX.
3375         (re_compile_internal): Pass new arguments to re_string_construct.
3376         (init_dfa): Initialize mb_cur_max and is_utf8 fields.
3377         (peek_token, peek_token_bracket): Use input->mb_cur_max instead
3378         of MB_CUR_MAX.
3379         (parse_expression, parse_bracket_exp, parse_charclass_op): Use
3380         dfa->mb_cur_max instead of MB_CUR_MAX.
3381         * posix/regex_internal.c (re_string_construct_common): Add
3382         mb_cur_max and is_utf8 arguments.  Initialize fields with them.
3383         (re_string_allocate, re_string_construct): Add mb_cur_max and
3384         is_utf8 arguments, pass them to re_string_construct_common.
3385         Use mb_cur_max instead of MB_CUR_MAX.
3386         (re_string_realloc_buffers): Use pstr->mb_cur_max instead of
3387         MB_CUR_MAX.
3388         (re_string_reconstruct): Likewise.
3389         (re_string_context_at): Use input->mb_cur_max instead of
3390         MB_CUR_MAX.
3391         (create_ci_newstate, create_cd_newstate): Use dfa->mb_cur_max
3392         instead of MB_CUR_MAX.
3393         * posix/regexec.c (re_search_internal): Likewise.
3394         Pass new arguments to re_string_allocate.
3395         (check_matching, transit_state_sb): Use dfa->mb_cur_max instead of
3396         MB_CUR_MAX.
3397         (extend_buffers): Use pstr->mb_cur_max instead of MB_CUR_MAX.
3398
3399 2003-11-12  Jakub Jelinek  <jakub@redhat.com>
3400
3401         * posix/Makefile (tests): Add bug-regex19.
3402         (bug-regex19-ENV): Add LOCPATH.
3403         * posix/bug-regex19.c: New test.
3404
3405 2003-11-11  Jakub Jelinek  <jakub@redhat.com>
3406
3407         * posix/regcomp.c (re_compile_fastmap_iter): Handle RE_ICASE
3408         with MB_CUR_MAX > 1 locales in the fastmap.
3409
3410 2003-11-11  Jakub Jelinek  <jakub@redhat.com>
3411
3412         * posix/regex_internal.c (build_wcs_buffer): Fix comment typo.
3413         (build_wcs_upper_buffer): Likewise.  Use towupper for wchar_t instead
3414         of toupper.
3415         * posix/Makefile (tests): Add bug-regex17 and bug-regex18.
3416         (bug-regex17-ENV, bug-regex18-ENV): Add LOCPATH.
3417         * posix/bug-regex17.c: New file
3418         * posix/bug-regex18.c: New file.
3419
3420 2003-10-08  Thorsten Kukuk  <kukuk@suse.de>
3421
3422         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (pread, pwrite):
3423         Define __NR_pread/__NR_pwrite if not done in kernel headers
3424
3425 2003-11-11  Roland McGrath  <roland@redhat.com>
3426
3427         * manual/xtract-typefun.awk: Swallow [(){}*] from function names.
3428
3429         * manual/Makefile (info): Don't depend on dir-add.info.
3430         (libc.dvi libc.pdf libc.info): Depend on dir-add.texi.
3431         (dir-add.info): Target removed, replaced with ...
3432         (dir-add.texi): New target.
3433         (distribute): Add it.
3434         (install): Remove variant with --section arguments.
3435         Let the @dircategory directives do their work.
3436         (mostlyclean): Don't remove dir-add.info here.
3437         (realclean): Remove dir-add.texi here.
3438         * manual/libc.texinfo: @include dir-add.texi
3439         * configure.in: Remove check for old Debian install-info.
3440         * configure: Regenerated.
3441         * config.make.in (OLD_DEBIAN_INSTALL_INFO): Variable removed.
3442
3443 2003-11-08  Andreas Schwab  <schwab@suse.de>
3444
3445         * scripts/data/c++-types-ia64-linux-gnu.data: New file.
3446
3447 2003-11-10  Carlos O'Donell  <carlos@baldric.uwo.ca>
3448
3449         * io/ftwtest-sh: Fix nested sed commands.
3450
3451 2003-11-10  Jakub Jelinek  <jakub@redhat.com>
3452
3453         * posix/regex_internal.h (re_string_char_size_at): Don't look beyond
3454         valid_len wide chars.
3455
3456 2003-11-09  Roland McGrath  <roland@redhat.com>
3457
3458         * manual/examples/dir2.c (one): Add const to argument type.
3459         Reported by J de Haan <j.de.haan@home.nl>.
3460
3461 2003-11-07  Ulrich Drepper  <drepper@redhat.com>
3462
3463         * po/pl.po: Update from translation team.
3464
3465 2003-11-07  Jakub Jelinek  <jakub@redhat.com>
3466
3467         * io/ftw.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define.
3468         (ftw_dir, ftw_startup): Add __attribute ((noinline)).
3469         (NFTW_OLD_NAME, NFTW_NEW_NAME): New functions.
3470         (NFTW_NAME): Only define if !_LIBC, add versioned_symbol
3471         and compat_symbol.
3472         * io/ftw64.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define.
3473         * io/Versions (libc): Export nftw@@GLIBC_2.3.3
3474         and nftw64@@GLIBC_2.3.3.
3475
3476         * io/ftw.h (FTW_ACTIONRETVAL): New flag.
3477         (FTW_CONTINUE, FTW_STOP, FTW_SKIP_SUBTREE, FTW_SKIP_SIBLINGS): New.
3478         * io/ftw.c (ftw_dir): Add old_dir argument.
3479         Clear result if it was FTW_SKIP_SIBLINGS after processing all
3480         dir entries.  Change cwd back if old_dir != NULL.
3481         (process_entry): Adjust caller.  Don't change cwd back here.
3482         Change FTW_SKIP_SUBTREE result to 0.
3483         (ftw_startup): Adjust ftw_dir caller.
3484         Clear result if it was FTW_SKIP_SUBTREE or FTW_SKIP_SIBLINGS.
3485         * io/ftwtest.c (skip_subtree, skip_siblings): New variables.
3486         (options, main): Add --skip-subtree and --skip-siblings options.
3487         (cb): Use return FTW_CONTINUE instead of return 0.
3488         Handle --skip-subtree and --skip-siblings.
3489