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