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