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