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