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