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