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