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