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