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