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