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