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