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