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