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