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