Update.
[kopensolaris-gnu/glibc.git] / ChangeLog
1 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
2
3         * posix/regcomp.c (regcomp): Initialize preg->can_be_null to zero.
4
5 2002-11-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6
7         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Handle
8         __NR_pread64 and __NR_pwrite64.
9         * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
10         * sysdeps/unix/sysv/linux/powerpc/pread.c: Remove __NR_pread64
11         and __NR_pwrite64.
12         Revert change to use INLINE_SYSCALL.
13         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
14         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
15         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
16         * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Revert change to use
17         INLINE_SYSCALL.
18         * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise.
19
20         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
21         Update clobber list and add a comment about the syscall ABI.
22
23         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_pread64,
24         s_pwrite64, s_ftruncate, s_truncate): Re-add.
25
26 2002-11-05  Jakub Jelinek  <jakub@redhat.com>
27
28         * iconv/gconv_dl.c (free_mem): Clear loaded.
29         * locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's
30         cleanup if any.
31
32 2002-11-05  Ulrich Drepper  <drepper@redhat.com>
33
34         * sysdeps/unix/sysv/linux/fexecve.c: Include <stdio.h>.
35
36         * libio/ioseekoff.c: Remove INTDEF.  Define _IO_seekoff_unlocked.  Same
37         as old code without locking.  _IO_seekoff calls this function after
38         locking the stream.
39         * libio/ioseekpos.c: Likewise for _IO_seekpos.
40         * libio/libioP.h: Replace _IO_seekoff_internal and _IO_seekpos_internal
41         prototypes with _IO_seekoff_unlocked and _IO_seekpos_unlocked
42         prototypes.
43         * libio/iolibio.h (_IO_fseek): Call _IO_seekoff_unlocked instead
44         of _IO_seekoff_internal.
45         (_IO_rewind): Likewise.
46         * libio/ioftell.c: Likewise.
47         * libio/ftello.c: Likewise.
48         * libio/ftello64.c: Likewise.
49         * libio/iofgetpos.c: Likewise.
50         * libio/iofgetpos64.c: Likewise.
51         * libio/oldiofgetpos.c: Likewise.
52         * libio/oldiofgetpos64.c: Likewise.
53         * libio/iofsetpos.c: Call _IO_seekpos_unlocked instead of
54         _IO_seekpos_internal.
55         * libio/iofsetpos64.c: Likewise.
56         * libio/oldiofsetpos.c: Likewise.
57         * libio/oldiofsetpos64.c: Likewise.
58
59 2002-11-04  Roland McGrath  <roland@redhat.com>
60
61         * sysdeps/unix/sysv/linux/powerpc/chown.c: Use INLINE_SYSCALL macro.
62         * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise.
63         * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise.
64         * sysdeps/unix/sysv/linux/powerpc/pread.c: Likewise.
65         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
66         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
67         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
68         * sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: Likewise.
69         * sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Likewise.
70         * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise.
71         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ioctl,
72         s_chown, s_ftruncate64, s_mmap2, s_pread64, s_pwrite64, s_truncate64,
73         sys_fstat, sys_lstat, sys_mknod, sys_readv, sys_stat, sys_writev):
74         Remove these, no longer used.
75
76 2002-11-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
77
78         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ipc,
79         s_llseek, s_readahead, s_execve, s_fcntl, s_fcntl64, s_fstat64,
80         s_getcwd, s_getdents, s_getdents64, s_getpmsg, s_getpriority,
81         s_getrlimit, s_lstat64, s_poll, s_ptrace, s_putpmsg, s_reboot,
82         s_setrlimit, s_sigaction, s_sigpending, s_sigprocmask, s_sigsuspend,
83         s_stat64, s_sysctl, s_ugetrlimit, s_ustat, s_vfork): Remove now unused
84         syscall stubs.
85
86         * sysdeps/unix/sysv/linux/pwrite.c: Fix typo.
87         * sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
88         * sysdeps/unix/sysv/linux/powerpc/pread.c: Handle both __NR_pread64
89         and __NR_pread.
90         * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
91         * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Handle both __NR_pwrite64
92         and __NR_pwrite.
93         * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
94
95 2002-11-03  Roland McGrath  <roland@redhat.com>
96
97         * sysdeps/generic/ldsodefs.h (struct rtld_global): New member
98         `_dl_tls_static_used'.
99         * sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
100         (__libc_setup_tls): Initialize it.  Let the initial value of
101         _dl_tls_static_size indicate some surplus space in the computed value.
102         * elf/dl-open.c (_dl_tls_static_size): New variable.
103         * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Initialize
104         _dl_tls_static_used.  Add some surplus space into _dl_tls_static_size.
105         * elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
106         (CHECK_STATIC_TLS): Use it.
107         * elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the
108         closed objects occupied a trailing contiguous chunk of static TLS area.
109
110 2002-10-18  Bruno Haible  <bruno@clisp.org>
111
112         * charmaps/ISO_5428: Use Greek characters introduced in Unicode 3.0.
113
114 2002-11-04  Ulrich Drepper  <drepper@redhat.com>
115
116         * libio/wfileops.c (_IO_wfile_seekoff): Don't modify _offset and
117         _wide_data->_IO_read_end if adjustment can be made in the current
118         buffer.
119
120         * sysdeps/unix/sysv/linux/fexecve.c: New file.
121
122         * libio/bug-wfflush.c (do_test): Using fseek is not allowed when
123         wide oriented streams are used.
124
125         * nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the
126         service hasn't been used [PR libc/4744].
127
128         * include/features.h: Use __STDC_VERSION__ not __STDC_VERSION.
129         Reported by Miloslav Trmac <mitr@volny.cz> [PR libc/4766].
130
131         * manual/examples/dir.c: Don't include <stddef.h>.
132         * manual/examples/select.c: Include <errno.h> for TEMP_FAILURE_RETRY.
133         Reported by Frédéric Delanoy <delanoy_f@yahoo.com>.
134
135 2002-11-02  H.J. Lu  <hjl@gnu.org>
136
137         * stdio-common/reg-printf.c: Include <stddef.h>.
138
139 2002-11-03  Ulrich Drepper  <drepper@redhat.com>
140
141         * sysdeps/generic/libc-tls.c: Define _dl_tls_static_used.
142
143         * po/ca.po: Update from translation team.
144         * po/es.po: Likewise.
145
146         * sysdeps/generic/segfault.c (catch_segfault): If HAVE_PROC_SELF
147         is defined write out memory map.
148         * sysdeps/unix/sysv/linux/segfault.c: New file.
149
150 2002-11-02  Roland McGrath  <roland@redhat.com>
151
152         * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use union type for
153         pointers that can alias.
154         Reported by Daniel Jacobowitz <drow@mvista.com>.
155
156         * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h: New file.
157
158 2002-11-02  Roland McGrath  <roland@redhat.com>
159
160         * manual/filesys.texi (Reading/Closing Directory): Rewrite readdir_r
161         description to be clearer and to say that *RESULT is set to ENTRY.
162
163 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
164
165         * posix/regexec.c (build_trtable): Alloca or malloc dests_node and
166         dests_ch arrays together.  Alloca or malloc dest_states,
167         dest_states_word and dest_states_nl arrays together.  Free memory on
168         error exit.
169
170 2002-10-29  Daniel Jacobowitz  <drow@mvista.com>
171
172         * crypt/crypt_util.c (__init_des_r): Initialize current_salt
173         and current_saltbits.
174
175 2002-11-02  Roland McGrath  <roland@redhat.com>
176
177         * stdio-common/reg-printf.c: Include <stdlib.h>.
178
179 2002-11-02  H.J. Lu  <hjl@gnu.org>
180
181         * sysdeps/unix/sysv/linux/mips/syscalls.list (s_execve): Set
182         caller to EXTRA instead of execve.
183
184 2002-11-01  Roland McGrath  <roland@redhat.com>
185
186         * sysdeps/generic/errno-loc.c [! USE___THREAD]: Use this conditional
187         in place of [!(USE_TLS && HAVE___THREAD)].
188         (__errno_location) [! USE___THREAD]: Define as strong, not weak.
189
190 2002-10-31  Roger Sayle  <roger@eyesopen.com>
191
192         * sysdeps/i386/soft-fp/sfp-machine.h (_FP_NANFRAC_Q, _FP_NANSIGN_Q):
193         New macros.
194         * sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
195
196         * soft-fp/soft-fp.h: Allow sfp-machine.h to define FP_RND_NEAREST
197         without defining FP_ROUNDMODE.
198
199 2002-10-29  Jakub Jelinek  <jakub@redhat.com>
200
201         * sysdeps/gnu/siglist.c (PTR_SIZE_STR): Remove.
202         (__old_sys_siglist, __old_sys_sigabbrev): Use strong_alias and
203         declare_symbol.
204         * sysdeps/mach/hurd/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
205         (OLD_SIGLIST_SIZE): Define.
206         * sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
207         (OLD_SIGLIST_SIZE): Define.
208         * sysdeps/unix/sysv/linux/arm/siglist.c: Remove.
209
210 2002-11-01  Jakub Jelinek  <jakub@redhat.com>
211
212         * sysdeps/ia64/strncpy.S: Fix recovery code.
213
214 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
215
216         * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):
217         New macros.
218         * elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
219         text_set_element.
220         * elf/dl-libc.c (free_mem): Likewise.
221         * iconv/gconv_conf.c (free_mem): Likewise.
222         * iconv/gconv_db.c (free_mem): Likewise.
223         * iconv/gconv_dl.c (free_mem): Likewise.
224         * iconv/gconv_cache.c (free_mem): Likewise.
225         * intl/finddomain.c (free_mem): Likewise.
226         * intl/dcigettext.c (free_mem): Likewise.
227         * locale/setlocale.c (free_mem): Likewise.
228         * misc/fstab.c (fstab_free): Likewise.
229         * nss/nsswitch.c (free_mem): Likewise.
230         * posix/regcomp.c (free_mem): Likewise.
231         * resolv/gai_misc.c (free_res): Likewise.
232         * stdlib/fmtmsg.c (free_mem): Likewise.
233         * sunrpc/clnt_perr.c (free_mem): Likewise.
234         * sysdeps/generic/setenv.c (free_mem): Likewise.
235         * sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
236         * sysdeps/pthread/aio_misc.c (free_res): Likewise.
237         * time/tzset.c (free_mem): Likewise.
238         * malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
239         * locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
240         * malloc/set-freeres.c (__libc_freeres): Likewise.
241
242         * login/getutent.c: Include stdlib.h instead of stddef.h.
243         (buffer): Change into pointer to utmp, add libc_freeres_ptr.
244         (__getutent): Allocate buffer the first time it is run.
245         * login/getutid.c: Include stdlib.h instead of stddef.h.
246         (buffer): Change into pointer to utmp, add libc_freeres_ptr.
247         (__getutid): Allocate buffer the first time it is run.
248         * login/getutline.c: Include stdlib.h instead of stddef.h.
249         (buffer): Change into pointer to utmp, add libc_freeres_ptr.
250         (__getutline): Allocate buffer the first time it is run.
251         * malloc/mtrace.c (malloc_trace_buffer): Change into char *.
252         (mtrace): Allocate malloc_trace_buffer.
253         * resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
254         * resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
255         * string/strerror.c: Include libintl.h and errno.h.
256         (buf): New variable.
257         (strerror): Only allocate buffer if actually needed (unknown error).
258         * time/tzfile.c (transitions): Add libc_freeres_ptr.
259         (freeres): Remove.
260
261 2002-10-25  Jakub Jelinek  <jakub@redhat.com>
262
263         * include/libc-symbols.h (libc_freeres_ptr): New macro.
264         * malloc/set-freeres.c (__libc_freeres_ptrs): Define using
265         symbol_set_define.
266         (__libc_freeres): Free all pointers in that section.
267         * Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
268         commands when creating .lds script.
269         (LDSEDCMD-c.so): New variable.
270         * inet/rcmd.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
271         (rcmd_af): Use strdup to allocate ahostbuf.
272         * inet/rexec.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
273         (rexec_af): Use strdup to allocate ahostbuf.
274         * stdio-common/reg-printf.c (printf_funcs): Remove.
275         (__printf_arginfo_table): Change into printf_arginfo_function **.
276         Add libc_freeres_ptr.
277         (__register_printf_function): Allocate __printf_arginfo_table
278         and __printf_function_table the first time it is called.
279         * stdio-common/printf-parse.h (__printf_arginfo_table): Change into
280         printf_arginfo_function **.
281         (parse_one_spec): Add __builtin_expect.
282         * grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
283         (free_mem): Remove.
284         * inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
285         (free_mem): Remove.
286         * intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
287         (string_space, map): Add libc_freeres_ptr.
288         (free_mem): Remove.
289         * misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
290         (free_mem): Remove.
291         * misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
292         (free_mem): Remove.
293         * crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
294         (buffer): Add libc_freeres_ptr.
295         (free_mem): Remove for _LIBC.
296         * nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
297         (free_mem): Remove.
298         * nss/getXXent.c (buffer): Add libc_freeres_ptr.
299         (free_mem): Remove.
300         * pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
301         (free_mem): Remove.
302         * resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
303         (free_mem): Remove.
304         * shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
305         (free_mem): Remove.
306         * sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
307         (free_mem): Remove.
308         * sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
309         libc_freeres_ptr.
310         (free_mem): Remove.
311         * sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
312         libc_freeres_ptr.
313         (free_mem): Remove.
314
315 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
316
317         * malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
318         instead of duplicating the whole function in libc.
319
320 2002-10-31  Roland McGrath  <roland@redhat.com>
321
322         * sysdeps/i386/bits/byteswap.h [__GNUC__ < 2] (__bswap_32):
323         Renamed from __bswap_16 (typo fix).  Reported by <dens@stl.sarov.ru>.
324
325 2002-10-30  Jakub Jelinek  <jakub@redhat.com>
326
327         * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Add -D for each
328         32bit-predefine when creating .new32 list and -U for each
329         32bit-predefine when creating .new64 list.
330         * sysdeps/unix/sysv/linux/x86_64/Makefile (32bit-predefine): New.
331
332 2002-10-29  Andreas Schwab  <schwab@suse.de>
333
334         * sysdeps/generic/allocrtsig.c: Include <testrtsig.h>, not
335         "testrtsig.h".  Reported by Daniel Jacobowitz <dan@debian.org>.
336
337 2002-10-25  Roland McGrath  <roland@redhat.com>
338
339         * sysdeps/unix/sysv/linux/configure.in: Fix typo in last change.
340         * sysdeps/unix/sysv/linux/configure: Regenerated.
341
342         * sysdeps/generic/ldsodefs.h: Remove [! SHARED] conditional from
343         _dl_starting_up decl.
344
345 2002-10-20  H.J. Lu  <hjl@gnu.org>
346
347         * sysdeps/unix/sysv/linux/configure.in: Don't check
348         /lib/modules/`uname -r`/build/include for kernel headers if
349         cross compiling.
350         * sysdeps/unix/sysv/linux/configure: Regenerated.
351
352 2002-10-25  Roland McGrath  <roland@redhat.com>
353
354         * math/math.h (M_LOG2El): Correct the value.
355         From Stephen L Moshier <steve@moshier.net>.
356
357         * sysdeps/unix/sysv/linux/init-first.c (init): Remove [! SHARED]
358         conditional from __libc_multiple_libcs access.  Remove kludge for weak
359         symbol access with old compilers we no longer support.
360         * sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
361         * sysdeps/generic/libc-start.c (__libc_start_main): Likewise.
362
363 2002-10-25  Roland McGrath  <roland@redhat.com>
364
365         * sysdeps/posix/sigvec.c [SA_RESETHAND]: Disable wrapper hacks and
366         implement SV_RESETHAND by translating it to SA_RESETHAND.
367
368 2002-10-23  Alexandre Oliva  <aoliva@redhat.com>
369
370         * elf/dl-reloc.c (_dl_reloc_bad_use): Print the full 32-bit relocation
371         type on ELF64 platforms.
372
373 2002-10-24  Ulrich Drepper  <drepper@redhat.com>
374
375         * elf/elf.h (R_X86_64_GOTTPOFF): Renamed from r_x86_64_GOTTPOFF.
376
377         * elf/elf.h: Define ELF_NOTE_OS_FREEBSD and NT_TASKSTRUCT.
378
379 2002-10-24  Jakub Jelinek  <jakub@redhat.com>
380
381         * elf/dl-misc.c: Include <sysdep.h>.
382         (_dl_debug_vdprintf): Only take dl_load_lock if not _dl_starting_up.
383
384         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL,
385         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
386         (INLINE_SYSCALL): Use that.
387         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL,
388         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
389         (INLINE_SYSCALL): Use that.
390         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL,
391         INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros.
392         (INLINE_SYSCALL): Use that.
393         * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Include
394         dl-sysdep.h.
395         (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
396         (__INTERNAL_SYSCALL_STRING): Define.
397         * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Include
398         dl-sysdep.h.
399         (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant.
400         (__INTERNAL_SYSCALL_STRING): Define.
401         * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL): Pass
402         __SYSCALL_STRING to inline_syscall*.
403         (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO):
404         New macros.
405         (inline_syscall0, inline_syscall1, inline_syscall2, inline_syscall3,
406         inline_syscall4, inline_syscall5, inline_syscall6): Add string
407         argument.
408
409 2002-10-24  Roland McGrath  <roland@redhat.com>
410
411         * sysdeps/generic/ldsodefs.h (_dl_starting_up): Declare it here.
412         * sysdeps/unix/sysv/linux/init-first.c: Not here.
413         * sysdeps/powerpc/elf/libc-start.c: Or here.
414         * sysdeps/unix/sysv/aix/libc-start.c: Or here.
415         * sysdeps/unix/sysv/aix/start-libc.c: Or here.
416         * sysdeps/unix/sysv/aix/init-first.c: Or here.
417         * sysdeps/generic/libc-start.c: Or here.
418         * sysdeps/unix/sysv/linux/init-first.c (init): Protect _dl_starting_up
419         access with [! SHARED].
420         * sysdeps/unix/sysv/aix/init-first.c (init): Likewise.
421
422         * libio/bug-wfflush.c: New file.
423         * libio/Makefile (tests): Add bug-wfflush.
424
425 2002-10-23  Roland McGrath  <roland@redhat.com>
426
427         * stdio-common/tst-fphex.c: New file.
428         * stdio-common/Makefile (tests): Add tst-fphex.
429         * sysdeps/generic/printf_fphex.c (__printf_fphex): Fix initialization
430         of WNUMEND.  Fix counting of decimal point in WIDTH.  Print '0' pad
431         chars always before the value digits.
432         Reported by James Antill <james.antill@redhat.com>.
433
434 2002-10-24  Jakub Jelinek  <jakub@redhat.com>
435
436         * posix/regcomp.c (re_comp): Call __regfree on re_comp_buf.
437         (free_mem): New function.
438         * posix/Makefile (tests): Add bug-regex14.  Add bug-regex14-mem
439         if not cross compiling.
440         (generated): Add bug-regex14-mem and bug-regex14.mtrace.
441         (bug-regex14-ENV): Set.
442         (bug-regex14-mem): New target.
443         * posix/bug-regex14.c: New file.
444
445 2002-10-23  Roland McGrath  <roland@redhat.com>
446
447         * elf/Makefile ($(objpfx)librtld.map): Use temporary file for output
448         target, so we don't touch it when the link fails.
449
450         * libio/ftello.c (ftello): Use _IO_off64_t for type of POS.
451         Check for the result overflowing off_t and fail with EOVERFLOW.
452         * libio/ioftell.c (_IO_ftell): Likewise.
453         * libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
454
455         * login/logwtmp.c (logwtmp): If sizeof ut_tv != sizeof struct timeval,
456         use a temporary timeval on the stack for gettimeofday and copy it.
457         * login/logout.c (logout): Likewise.
458         Reported by Steven Munroe <sjmunroe@us.ibm.com>.
459
460         * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs):
461         Use __SWORD_TYPE instead of int for member types.
462         (struct statfs64): Likewise.
463         * sysdeps/unix/sysv/linux/alpha/bits/statfs.h: New file.
464         * sysdeps/unix/sysv/linux/s390/bits/statfs.h: New file.
465         * sysdeps/unix/sysv/linux/ia64/bits/statfs.h: File removed.
466         * sysdeps/unix/sysv/linux/sparc/bits/statfs.h: File removed.
467         * sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: File removed.
468
469         * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Moved to ...
470         * sysdeps/unix/sysv/linux/bits/statvfs.h: ... here.
471         (ST_NODIRATIME): Restore fixed value of 2048.
472         * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: File removed.
473         * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: File removed.
474
475         Rearranged <bits/types.h> definitions to reduce duplication.
476         * sysdeps/generic/bits/types.h: Rewritten, using macros from
477         <bits/wordsize.h> and new header <bits/typesizes.h>.
478         * posix/Makefile (headers): Add bits/typesizes.h here.
479         * sysdeps/generic/bits/typesizes.h: New file.
480         * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file.
481         * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file.
482         * sysdeps/mach/hurd/bits/typesizes.h: New file.
483         * sysdeps/unix/sysv/linux/alpha/bits/types.h: File removed.
484         * sysdeps/unix/sysv/linux/bits/types.h: File removed.
485         * sysdeps/unix/sysv/linux/ia64/bits/types.h: File removed.
486         * sysdeps/unix/sysv/linux/mips/bits/types.h: File removed.
487         * sysdeps/unix/sysv/linux/s390/bits/types.h: File removed.
488         * sysdeps/unix/sysv/linux/sparc/bits/types.h: File removed.
489         * sysdeps/unix/sysv/linux/x86_64/bits/types.h: File removed.
490         * posix/sys/types.h [__USE_POSIX199506 || __USE_UNIX98]: Include
491         <bits/pthreadtypes.h> here, not in <bits/types.h>.
492         * signal/signal.h: Likewise.
493
494         * streams/stropts.h: Include <bits/xtitypes.h>.
495         * streams/Makefile (headers): Add bits/xtitypes.h here.
496         * sysdeps/generic/bits/xtitypes.h: New file.
497         * sysdeps/s390/bits/xtitypes.h: New file.
498         * sysdeps/ia64/bits/xtitypes.h: New file.
499         * sysdeps/x86_64/bits/xtitypes.h: New file.
500
501         * sysvipc/Makefile (headers): Add bits/ipctypes.h here.
502         * sysdeps/generic/bits/ipctypes.h: New file.
503         * sysdeps/mips/bits/ipctypes.h: New file.
504         * sysdeps/gnu/bits/shm.h: Include <bits/ipctypes.h>.
505         * sysdeps/gnu/bits/msq.h: Likewise.
506         * sysvipc/sys/ipc.h: Likewise.
507
508 2002-10-22  Ulrich Drepper  <drepper@redhat.com>
509
510         * elf/dl-load.c (struct filebuf): For buf element to have the
511         alignment of ElfXX_Ehdr since this is what will be stored in it.
512
513 2002-10-22  Jakub Jelinek  <jakub@redhat.com>
514
515         * locale/programs/locarchive.c (add_alias): Change locrec_offset arg
516         into pointer to locrec_offset.
517         (add_locale_to_archive): Adjust callers.  Free normalized_name right
518         before returning, not immediately after add_locale, pass it to
519         add_alias if not NULL instead of name.  Rename second normalized_name
520         occurence to nnormalized_codeset_name.
521
522         * locale/programs/locarchive.c (enlarge_archive): Make sure
523         string_size is always a multiple of 4.
524         Reported by Andreas Schwab <schwab@suse.de>.
525
526 2002-10-21  Andreas Schwab  <schwab@suse.de>
527
528         * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_execve): Set
529         caller to EXTRA instead of execve, since the latter has a
530         higher-priority implementation in linuxthreads.
531
532 2002-10-21  Roland McGrath  <roland@redhat.com>
533
534         * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize the static
535         slotinfo list's len member to the proper size, not just 1.
536         Initialize static_map.l_tls_initimage.
537
538         * elf/dl-open.c (dl_open_worker): Fix loop searching for
539         dtv_slotinfo_list element containing new modules' l_tls_modid.
540
541         * elf/tst-tls9.c, elf/tst-tls9-static.c: New files.
542         * elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files.
543         * elf/Makefile (tests): Add tst-tls9.
544         (tests-static): Add tst-tls9-static.
545         (tst-tls9-static-ENV): New variable.
546         ($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets.
547
548         * elf/dl-close.c (remove_slotinfo): Remove an assert; the number of
549         modids used by partially loaded modules being closed can't be known.
550
551 2002-10-21  Isamu Hasegawa  <isamu@yamato.ibm.com>
552
553         * posix/Makefile: Add a test case for the bug reported by Aharon
554         Robbins <arnold@skeeve.com>.
555         * posix/bug-regex13.c: New file.
556         * posix/regcomp.c (peek_token_bracket): Skip the byte already read.
557
558 2002-10-21  Ulrich Drepper  <drepper@redhat.com>
559
560         * csu/gmon-start.c: Pretty printing.
561
562 2002-10-19  Art Haas  <ahaas@neosoft.com>
563
564         * configure.in: Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS,
565         add AC_HELP_STRING to all AC_ARG_WITH and AC_ARG_ENABLE macros,
566         add autoconf quotes to the AC_CONFIG_AUX_DIR macro.
567         * configure: Regenerated.
568
569 2002-10-19  Roland McGrath  <roland@redhat.com>
570
571         * configure.in: Call AC_CONFIG_SUBDIRS with empty argument
572         and then set $subdirs directly, because the new Autoconf breaks
573         compatibility in every way imaginable and insists on whining
574         about usage that worked since the dawn of time.
575         * configure: Regenerated.
576
577         * configure: Regenerated (using Autoconf 2.54).
578         * sysdeps/alpha/elf/configure: Likewise.
579         * sysdeps/generic/configure: Likewise.
580         * sysdeps/i386/elf/configure: Likewise.
581         * sysdeps/ia64/elf/configure: Likewise.
582         * sysdeps/mach/hurd/configure: Likewise.
583         * sysdeps/mach/configure: Likewise.
584         * sysdeps/unix/configure: Likewise.
585         * sysdeps/unix/common/configure: Likewise.
586         * sysdeps/unix/sysv/aix/configure: Likewise.
587         * sysdeps/unix/sysv/linux/configure: Likewise.
588         * sysdeps/unix/sysv/linux/mips/configure: Likewise.
589         * sysdeps/x86_64/elf/configure: Likewise.
590
591         * config.make.in: Nix completely-soft nonsense.
592         * configure.in: Likewise.  Under --without-fp, use nofpu subdirectory
593         of machine directories instead of fpu subdirectory.
594         * sysdeps/powerpc/soft-fp/Makefile: Remove cruft added in last change.
595         * sysdeps/powerpc/nofpu/Makefile: Put it in this new file instead.
596         * sysdeps/powerpc/soft-fp/sim-full.c: Moved to ...
597         * sysdeps/powerpc/nofpu/sim-full.c: ... here.
598         * sysdeps/powerpc/soft-fp/fraiseexcpt.c: Moved to ...
599         * sysdeps/powerpc/nofpu/fraiseexcpt.c: ... here.
600         * sysdeps/powerpc/soft-fp/fegetexcept.c: Moved to ...
601         * sysdeps/powerpc/nofpu/fegetexcept.c: ... here.
602         * sysdeps/powerpc/soft-fp/fclrexcpt.c: Moved to ...
603         * sysdeps/powerpc/nofpu/fclrexcpt.c: ... here.
604         * sysdeps/powerpc/soft-fp/ftestexcept.c: Moved to ...
605         * sysdeps/powerpc/nofpu/ftestexcept.c: ... here.
606         * sysdeps/powerpc/soft-fp/fgetexcptflg.c: Moved to ...
607         * sysdeps/powerpc/nofpu/fgetexcptflg.c: ... here.
608         * sysdeps/powerpc/soft-fp/fsetexcptflg.c: Moved to ...
609         * sysdeps/powerpc/nofpu/fsetexcptflg.c: ... here.
610         * sysdeps/powerpc/soft-fp/fedisblxcpt.c: Moved to ...
611         * sysdeps/powerpc/nofpu/fedisblxcpt.c: ... here.
612         * sysdeps/powerpc/soft-fp/feenablxcpt.c: Moved to ...
613         * sysdeps/powerpc/nofpu/feenablxcpt.c: ... here.
614         * sysdeps/powerpc/soft-fp/fegetenv.c: Moved to ...
615         * sysdeps/powerpc/nofpu/fegetenv.c: ... here.
616         * sysdeps/powerpc/soft-fp/fesetenv.c: Moved to ...
617         * sysdeps/powerpc/nofpu/fesetenv.c: ... here.
618         * sysdeps/powerpc/soft-fp/fegetround.c: Moved to ...
619         * sysdeps/powerpc/nofpu/fegetround.c: ... here.
620         * sysdeps/powerpc/soft-fp/fesetround.c: Moved to ...
621         * sysdeps/powerpc/nofpu/fesetround.c: ... here.
622         * sysdeps/powerpc/soft-fp/feupdateenv.c: Moved to ...
623         * sysdeps/powerpc/nofpu/feupdateenv.c: ... here.
624         * sysdeps/powerpc/soft-fp/feholdexcpt.c: Moved to ...
625         * sysdeps/powerpc/nofpu/feholdexcpt.c: ... here.
626         * sysdeps/powerpc/soft-fp/fenv_const.c: Moved to ...
627         * sysdeps/powerpc/nofpu/fenv_const.c: ... here.
628         * sysdeps/powerpc/soft-fp/libm-test-ulps: Moved to ...
629         * sysdeps/powerpc/nofpu/libm-test-ulps: ... here.
630         * sysdeps/powerpc/soft-fp/soft-supp.h: Moved to ...
631         * sysdeps/powerpc/nofpu/soft-supp.h: ... here.
632         * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Moved to ...
633         * sysdeps/powerpc/nofpu/Versions: ... here, new file.
634
635 2002-10-19  Bruno Haible  <bruno@clisp.org>
636
637         * sysdeps/unix/bsd/bsd4.4/freebsd/sys/sysmacros.h: New file.
638
639 2002-10-18  Roland McGrath  <roland@redhat.com>
640
641         * io/Makefile (routines): Add lchmod.
642         * io/sys/stat.h [__USE_BSD] (lchmod): Declare it.
643         * sysdeps/generic/lchmod.c: New file.
644         * sysdeps/mach/hurd/lchmod.c: New file.
645         * io/Versions (libc: GLIBC_2.3.2): New set, add lchmod.
646
647 2002-10-18  Art Haas  <ahaas@neosoft.com>
648
649         * configure.in: Remove remaining AC_FD_CC macros, and replace
650         AC_FD_MSG with AS_MESSAGE_FD.
651
652 2002-10-18  Roland McGrath  <roland@redhat.com>
653
654         * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Fix
655         typos: VALUE -> FINALADDR.
656
657         * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL, INLINE_SYSCALL1)
658         (inline_syscall_clobbers, inline_syscall0, inline_syscall1)
659         (inline_syscall2, inline_syscall3, inline_syscall4, inline_syscall5)
660         (inline_syscall6): Move these macros ...
661         * sysdeps/unix/sysv/linux/alpha/sysdep.h: ... to here.
662
663         * configure.in (libc_link_dests, libc_link_sources): Remove these
664         variables and the AC_LINK_FILES call.
665
666         * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Fix last
667         change to put new symbols here instead of in GLIBC_2.2.
668         * sysdeps/powerpc/Subdirs: Move this file ...
669         * sysdeps/powerpc/soft-fp/Subdirs: ... here.
670
671 2002-10-07  Roland McGrath  <roland@redhat.com>
672
673         * sysdeps/generic/bits/time.h: Replaced with contents of the
674         sysdeps/unix/sysv/linux/i386/bits/time.h file.  All the following
675         files were identical except for the absence of CLOCK_THREAD_CPUTIME_ID
676         and CLOCK_PROCESS_CPUTIME_ID in .../linux/bits/time.h; adding these
677         macros is ok even for architectures that don't now implement them.
678         * sysdeps/mach/hurd/bits/time.h: File removed.
679         * sysdeps/unix/sysv/linux/bits/time.h: File removed.
680         * sysdeps/unix/sysv/linux/i386/bits/time.h: File removed.
681         * sysdeps/unix/sysv/linux/ia64/bits/time.h: File removed.
682         * sysdeps/unix/sysv/linux/sparc/bits/time.h: File removed.
683         * sysdeps/unix/sysv/linux/x86_64/bits/time.h: File removed.
684
685 2002-10-18  Jeff Bailey  <jbailey@gnu.org>
686
687         * configure.in: Replace obsolete AC_OUTPUT syntax with
688         AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and new-type AC_OUTPUT trio.
689
690         * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDEs for
691         _AS_PATH_SEPARATOR_PREPARE and _AS_TEST_PREPARE.
692
693         * configure.in: Replace AC_FD_CC with AS_MESSAGE_LOG_FD.
694         * sysdeps/alpha/elf/configure.in: Likewise.
695         * sysdeps/i386/elf/configure.in: Likewise.
696         * sysdeps/mach/hurd/configure.in: Likewise.
697         * sysdeps/x86_64/elf/configure.in: Likewise.
698
699         * configure.in: Use AC_CONFIG_SRCDIR and new AC_INIT syntax.
700
701         * sysdeps/alpha/elf/configure.in: Remove unneeded sinclude statement.
702         * sysdeps/generic/configure.in: Likewise.
703         * sysdeps/i386/elf/configure.in: Likewise.
704         * sysdeps/ia64/elf/configure.in: Likewise.
705         * sysdeps/mach/configure.in: Likewise.
706         * sysdeps/mach/hurd/configure.in: Likewise.
707         * sysdeps/unix/configure.in: Likewise.
708         * sysdeps/unix/common/configure.in: Likewise.
709         * sysdeps/unix/sysv/aix/configure.in: Likewise.
710         * sysdeps/unix/sysv/linux/configure.in: Likewise.
711         * sysdeps/unix/sysv/linux/mips/configure.in: Likewise.
712         * sysdeps/x86_64/elf/configure.in: Likewise.
713
714         * aclocal.m4: Use just the bits from AS_INIT that are needed for the
715         GLIBC_PROVIDES.  Use plain comment instead of HEADER-COMMENT so
716         that it's obvious when extra autoconf machinery is being dragged in.
717
718 2002-10-18  Roland McGrath  <roland@redhat.com>
719
720         * configure.in: Remove bogus echo included in
721         2002-10-08  Aldy Hernandez  <aldyh@redhat.com> change.
722         * configure: Regenerated.
723
724 2002-10-18  Jakub Jelinek  <jakub@redhat.com>
725
726         * sysdeps/unix/sysv/linux/pathconf.h (statfs_link_max): Add inline.
727         (statfs_filesize_max): New function.
728         * sysdeps/unix/sysv/linux/linux_fsinfo.h (JFFS_SUPER_MAGIC,
729         JFFS2_SUPER_MAGIC, JFS_SUPER_MAGIC, NTFS_SUPER_MAGIC,
730         ROMFS_SUPER_MAGIC, UDF_SUPER_MAGIC): Define.
731         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use
732         statfs_filesize_max.
733         * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
734         * sysdeps/unix/sysv/linux/alpha/fpathconf.c: Removed.
735         * sysdeps/unix/sysv/linux/alpha/pathconf.c: Removed.
736
737 2002-10-17  Roland McGrath  <roland@redhat.com>
738
739         * configure.in (MIG): Just AC_SUBST it here.
740         * configure: Regenerated.
741         * sysdeps/mach/configure.in (MIG): Do the AC_CHECK_TOOL here.
742         Adding final - argument to all AC_CHECK_HEADER uses for .defs files.
743         * sysdeps/mach/configure: Regenerated.
744
745         * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_TR_SH_PREPARE])
746         and AC_PROVIDE([_AS_CR_PREPARE]).
747
748         * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_ECHO_N_PREPARE]).
749         Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).
750
751         * elf/dl-support.c: Move _dl_tls_* variables to ...
752         * sysdeps/generic/libc-tls.c: ... here.
753
754         * elf/dl-close.c (remove_slotinfo): Take new argument.  If false,
755         allow IDX to be one past the current last slotinfo entry.
756         (_dl_close): Pass IMAP->l_init_called for that parameter.
757
758 2002-10-07  Andreas Schwab  <schwab@suse.de>
759
760         * aclocal.m4: Fix for autoconf 2.53.
761         * configure.in: Likewise.  Require autoconf 2.53.
762
763 2002-10-08  Richard Henderson  <rth@redhat.com>
764
765         * soft-fp/op-4.h: Handle carry correctly in
766         __FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3,
767         __FP_FRAC_SUB_4, __FP_FRAC_DEC_3, __FP_FRAC_DEC_4.
768         * soft-fp/op-common.h: New macros _FP_DIV_MEAT_N_loop.
769
770 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
771
772         * configure.in: Compute completely-soft.
773         * config.make.in: Make completely-soft available to sub-makes.
774         * sysdeps/powerpc/soft-fp/Makefile: Add gcc-single-routines and
775         gcc-double-routines.  Add sim-full.c.  Add fenv_const and
776         fe_nomask to libm-support.
777         * sysdeps/powerpc/soft-fp/sim-full.c: New file.
778         * sysdeps/powerpc/soft-fp/fraiseexcpt.c: New file.
779         * sysdeps/powerpc/soft-fp/fegetexcept.c: New file.
780         * sysdeps/powerpc/soft-fp/fclrexcpt.c: New file.
781         * sysdeps/powerpc/soft-fp/ftestexcept.c: New file.
782         * sysdeps/powerpc/soft-fp/fgetexcptflg.c: New file.
783         * sysdeps/powerpc/soft-fp/fsetexcptflg.c: New file.
784         * sysdeps/powerpc/soft-fp/fedisblxcpt.c: New file.
785         * sysdeps/powerpc/soft-fp/feenablxcpt.c: New file.
786         * sysdeps/powerpc/soft-fp/fegetenv.c: New file.
787         * sysdeps/powerpc/soft-fp/fesetenv.c: New file.
788         * sysdeps/powerpc/soft-fp/fegetround.c: New file.
789         * sysdeps/powerpc/soft-fp/fesetround.c: New file.
790         * sysdeps/powerpc/soft-fp/feupdateenv.c: New file.
791         * sysdeps/powerpc/soft-fp/feholdexcpt.c: New file.
792         * sysdeps/powerpc/soft-fp/fenv_const.c: New file.
793         * sysdeps/powerpc/soft-fp/libm-test-ulps: New file.
794         * sysdeps/powerpc/soft-fp/soft-supp.h: New file.
795         * sysdeps/powerpc/soft-fp/Versions: Add libgcc soft-float
796         symbols.  Add __sim_disabled_exceptions, __sim_exceptions,
797         __sim_round_mode.
798         * sysdeps/powerpc/soft-float/Dist: Add sim-full.c, fenv_const.c.
799         * sysdeps/powerpc/soft-float/sfp-machine.h: Define
800         FP_HANDLE_EXCEPTIONS.
801         Define FP_ROUNDMODE.
802         Redefine FP_* macros to correspond to the FE_* bit positions.
803         Define FP_DIV_MEAT_S to _FP_DIV_MEAT_1_loop.
804         Define externs for __sim_exceptions, __sim_disabled_exceptions,
805         __sim_round_mode, __simulate_exceptions.
806         * sysdeps/powerpc/fpu/bits/fenv.h: Move file from here...
807         * sysdeps/powerpc/bits/fenv.h: ...to here.
808
809 2002-10-06  Jakub Jelinek  <jakub@redhat.com>
810
811         * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela):
812         Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time.
813         Use __builtin_expect for R_PPC_ADDR24 overflow check.  Fix
814         R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use
815         __builtin_expect.
816
817 2002-10-15  Jakub Jelinek  <jakub@redhat.com>
818
819         * include/resolv.h (__libc_res_nquery, __libc_res_nsearch,
820         __libc_res_nsend): New prototypes.
821         * resolv/res_query.c (QUERYSIZE): Define.
822         (__libc_res_nquery): Renamed from res_nquery.  Added answerp
823         argument.  Allocate only QUERYSIZE bytes first, if res_nmkquery
824         fails use MAXPACKET buffer.  Call __libc_res_nsend instead of
825         res_nsend, pass answerp.
826         (res_nquery): Changed into wrapper around __libc_res_nquery.
827         (__libc_res_nsearch): Renamed from res_nsearch.  Added answerp
828         argument.  Call __libc_res_nquerydomain and __libc_res_nquery
829         instead of the non-__libc_ variants, pass them answerp.
830         (res_nsearch): Changed into wrapper around __libc_res_nsearch.
831         (__libc_res_nquerydomain): Renamed from res_nquerydomain.
832         Added answerp argument.  Call __libc_res_nquery instead of
833         res_nquery, pass answerp.
834         (res_nquerydomain): Changed into wrapper around
835         __libc_res_nquerydomain.
836         * resolv/res_send.c: Include sys/ioctl.h.
837         (MAXPACKET): Define.
838         (send_vc): Change arguments.  Reallocate answer buffer if it is
839         too small.
840         (send_dg): Likewise.
841         (__libc_res_nsend): Renamed from res_nsend.  Added ansp argument.
842         Reallocate answer buffer if it is too small and hooks are in use.
843         Adjust calls to send_vc and send_dg.
844         (res_nsend): Changed into wrapper around __libc_res_nsend.
845         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Allocate
846         just 1K answer buffer on the stack, use __libc_res_nsearch instead
847         of res_nsearch.
848         (_nss_dns_gethostbyaddr_r): Similarly with __libc_res_nquery.
849         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise.
850         (_nss_dns_getnetbyname_r): Similarly with __libc_res_nsearch.
851         * resolv/gethnamaddr.c (gethostbyname2): Likewise.
852         (gethostbyaddr): Similarly with __libc_res_nquery.
853         * resolv/Versions (libresolv): Export __libc_res_nquery and
854         __libc_res_nsearch at GLIBC_PRIVATE.
855
856 2002-10-17  Roland McGrath  <roland@redhat.com>
857
858         * configure.in: Grok --without-__thread and disable HAVE___THREAD.
859         * configure: Regenerated.
860
861         * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Do CHECK_STATIC_TLS
862         before performing the reloc, not after.
863         * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
864
865 2002-10-17  Ulrich Drepper  <drepper@redhat.com>
866
867         * locale/programs/locale.c (write_locales): Use 'm' flag in fopen call.
868         * locale/programs/linereader.c (lr_open): Likewise.
869         * locale/programs/charmap-dir.c (charmap_open): Likewise.
870         * locale/programs/locarchive.c (add_locale_to_archive): Likewise.
871
872 2002-10-17  Isamu Hasegawa  <isamu@yamato.ibm.com>
873
874         * posix/bug-regex11.c: Add a test case for the bug reported by
875         Paolo Bonzini <bonzini@gnu.org>.
876         * posix/regexec.c (sift_states_bkref): Use correct destination of
877         the back reference.
878
879 2002-10-17  Roland McGrath  <roland@redhat.com>
880
881         * elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS.
882         * elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro
883         to signal error if an IE-model TLS reloc resolved to a dlopen'd module.
884         * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
885         Call it after performing TPOFF relocs.
886         * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
887         * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
888         * elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op).
889
890         * elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash
891         when closing a partially-initialized object.
892
893         * elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose
894         instead of _dl_fatal_printf when we see PT_TLS.
895
896         * Makeconfig (CPPFLAGS): Fix last change to use $(libof-$(<F))
897         instead of $(libof-$<).
898
899 2002-10-16  Roland McGrath  <roland@redhat.com>
900
901         * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
902         instead of += to append, to be sure $(lib) gets expanded at defn time.
903         (libof-$(cpp-src)): New variable, define this instead.
904         * extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
905         (lib): Don't use override.
906         (CPPFLAGS-$(lib)): New variable, put -D's here.
907         * Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
908         Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
909         LIB found by $(libof-*) for basename, target, or source.
910         * Makerules (CPPFLAGS-nonlib): New variable.
911         * nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
912         * locale/Makefile (lib): Likewise.
913         * sunrpc/Makefile (lib): Likewise.
914
915         * sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
916         * sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
917         * sysdeps/unix/sysv/linux/pathconf.h: New file.
918         (statfs_link_max): New function, guts from fpathconf.c.
919         * sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
920         * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
921         * sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
922         to use the linux/pathconf.c code by #include rather than duplication.
923         * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.
924
925 2002-10-16  Jakub Jelinek  <jakub@redhat.com>
926
927         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
928         Use __libc_errno only for libc itself.
929
930 2002-10-16  Andreas Jaeger  <aj@suse.de>
931
932         * sysdeps/x86_64/_mcount.S: Fix off-by-1 error in argument access.
933
934 2002-10-16  Ulrich Drepper  <drepper@redhat.com>
935
936         * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
937         Use __libc_errno only for libc itself.
938
939 2002-10-15  Roland McGrath  <roland@redhat.com>
940             Jakub Jelinek  <jakub@redhat.com>
941
942         * sysdeps/unix/sysv/linux/Makefile
943         ($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Take code from
944         sparc/Makefile to produce a bi-arch file as needed.
945         That's now parameterized by the variable $(64bit-predefine).
946         Use LC_ALL=C for `comm' commands in that rule.
947         No longer conditional on [$(no_syscall_list_h)].
948         * sysdeps/unix/sysv/linux/sparc/Makefile: Remove replacement rules.
949         (64bit-predefine): New variable.
950         * sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise.
951         * sysdeps/unix/sysv/linux/s390/Makefile: New file.
952         * sysdeps/unix/sysv/linux/powerpc/Makefile
953         (64bit-predefine): New variable.
954
955 2002-10-15  Roland McGrath  <roland@redhat.com>
956
957         * sysdeps/unix/sysv/linux/Makefile
958         ($(objpfx)syscall-%.h $(objpfx)syscall-%.d)
959
960         * login/utmp-private.h: Declare __libc_utmp_lock.
961         * sysdeps/unix/getlogin_r.c (getlogin_r): Take __libc_utmp_lock once
962         and call __libc_utmp_jump_table functions directly, instead of using
963         __setutent et al.
964
965         * sysdeps/unix/sysv/linux/configure.in: Use case instead of if.
966         * sysdeps/unix/sysv/linux/configure: Regenerated.
967
968         * sysdeps/gnu/bits/utmp.h: Include <bits/wordsize.h>.
969         (struct lastlog) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
970         Use int32_t for ll_time.
971         (struct utmp) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
972         Use int32_t instead of long int for ut_session.
973         Use an anonymous struct with 32-bit fields for ut_tv.
974         * sysdeps/gnu/bits/utmpx.h: Include <bits/wordsize.h>.
975         (struct utmpx) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Do the same
976         here as in utmp.h for `struct utmp'.
977         * sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: File removed.
978         * sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: File removed.
979         * sysdeps/unix/sysv/linux/sparc/bits/utmp.h: File removed.
980         * sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: File removed.
981         * sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: File removed.
982         * sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: File removed.
983
984         * sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents
985         of the sysdeps/unix/sysv/linux/i386/bits/resource.h file.
986         All the following files were identical or equivalent to it.
987         * sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed.
988         * sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed.
989         * sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed.
990         * sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed.
991         * sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed.
992         * sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed.
993         * sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed.
994         * sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed.
995         * sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed.
996         * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed.
997
998         * sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Use size_t
999         instead of int for msg_iovlen, instead of socklen_t for msg_controllen.
1000         Other than the previously incorrect sign of msg_iovlen, this is a
1001         no-op on 32-bit platforms.  On 64-bit platforms it makes this header
1002         match their layouts as well, so the following are now identical to it.
1003         * sysdeps/unix/sysv/linux/s390/bits/socket.h: File removed.
1004         * sysdeps/unix/sysv/linux/sparc/bits/socket.h: File removed.
1005         * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: File removed.
1006         * sysdeps/unix/sysv/linux/ia64/bits/socket.h: File removed.
1007         * sysdeps/unix/sysv/linux/alpha/bits/socket.h: File removed.
1008
1009 2002-10-15  Ulrich Drepper  <drepper@redhat.com>
1010
1011         * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
1012         Define for 2.4+ kernels.
1013
1014         * sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which
1015         are known to have the vfork syscall.  Don't confuse the CPUs
1016         branch prediction unit by jumping to the return address.
1017
1018         * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__fpathconf): Add
1019         support for reiserfs and xfs.
1020
1021         * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Add case for
1022         XFS link count.
1023         * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define XFS_SUPER_MAGIC
1024         and XFS_LINK_MAX.
1025         Patch by Eric Sandeen <sandeen@sgi.com> [PR libc/4706].
1026
1027 2002-10-16  Jakub Jelinek  <jakub@redhat.com>
1028
1029         * include/libc-symbols.h (attribute_tls_model_ie): Define.
1030         * include/errno.h (errno): Define to __libc_errno in libc.so.
1031         Add attribute_tls_model_ie.
1032         * include/netdb.h (h_errno): Define to __libc_h_errno in libc.so.
1033         Add attribute_tls_model_ie.
1034         * include/resolv.h (_res): Define to __libc_res in libc.so.  Add
1035         attribute_tls_model_ie.
1036         * inet/herrno.c (__libc_h_errno): Add hidden alias to h_errno.
1037         (h_errno): Define.
1038         * resolv/res_libc.c (__libc_res): Add hidden alias to _res.
1039         (_res): Define.
1040         * sysdeps/generic/bits/libc-tsd.h (__libc_tsd_define): Add
1041         attribute_tls_model_ie.
1042         * sysdeps/generic/errno-loc.c (errno): Only undefine if not using
1043         __thread.
1044         * sysdeps/generic/errno.c (__libc_errno): Add hidden alias to errno.
1045         * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER): Use
1046         __libc_errno in USE___THREAD case.
1047         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
1048         Likewise.
1049         * configure.in (HAVE_TLS_MODEL_ATTRIBUTE): Check for
1050         __attribute__((tls_model (""))).
1051         * configure: Rebuilt.
1052         * config.h.in (HAVE_TLS_MODEL_ATTRIBUTE): Add.
1053
1054 2002-10-15  Ulrich Drepper  <drepper@redhat.com>
1055
1056         * timezone/asia: Update from tzdata2002d.
1057         * timezone/australasia: Likewise.
1058         * timezone/iso3166.tab: Likewise.
1059         * timezone/southamerica: Likewise.
1060         * timezone/zone-tab: Likewise.
1061
1062 2002-10-15  Roland McGrath  <roland@redhat.com>
1063
1064         * sysdeps/generic/dl-tls.c (_dl_deallocate_tls) [TLS_TCB_AT_TP]:
1065         Adjust TCB pointer before calling free, so we get the whole block.
1066
1067 2002-10-14  Roland McGrath  <roland@redhat.com>
1068
1069         * sysdeps/unix/sysv/linux/x86_64/sigaction.c
1070         [HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt
1071         extern using attribute_hidden instead of static, avoids warning.
1072
1073 2002-10-09  Jakub Jelinek  <jakub@redhat.com>
1074
1075         * sysdeps/unix/sysv/linux/configure.in: Use */lib64 for s390x too.
1076         * sysdeps/unix/sysv/linux/configure: Rebuilt.
1077
1078 2002-10-14  Ulrich Drepper  <drepper@redhat.com>
1079
1080         * po/sv.po: Update from translation team.
1081
1082 2002-10-12  H.J. Lu  <hjl@gnu.org>
1083
1084         * sunrpc/thrsvc.c (PROCQUIT): New.
1085         (struct rpc_arg): New.
1086         (dispatch): Call exit (0) if request->rq_proc == PROCQUIT.
1087         (test_one_call): Take struct rpc_arg * instead of CLIENT *c.
1088         (thread_wrapper): Modified for struct rpc_arg * and call PROCQUIT.
1089         (main): Modified for struct rpc_arg *.
1090
1091 2002-10-14  Ulrich Drepper  <drepper@redhat.com>
1092
1093         * dirent/scandir.c: Rearrange code a bit to reduce binary size.
1094
1095 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
1096
1097         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Include tls.h.
1098         (SYSCALL_ERROR_HANDLER): Use RTLD_PRIVATE_ERRNO sequence
1099         in ld.so even if __thread is supported.
1100
1101 2002-10-13  Jakub Jelinek  <jakub@redhat.com>
1102
1103         * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
1104         Add hack to prevent the compiler from clobbering the signal context.
1105         * sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter):
1106         Likewise.
1107         * sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter):
1108         Likewise.
1109
1110 2002-10-14  Andreas Jaeger  <aj@suse.de>
1111
1112         * sysdeps/mips/fpu/libm-test-ulps: Regenerated by
1113         Guido Guenther <agx@sigxcpu.org>.
1114
1115 2002-10-14  Ulrich Drepper  <drepper@redhat.com>
1116
1117         * po/sk.po: Update from translation team.
1118
1119 2002-09-26  Roland McGrath  <roland@redhat.com>
1120
1121         * elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB
1122         dynamic string tag.
1123         * elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define
1124         DL_DST_LIB based on $(slibdir).
1125
1126 2002-10-13  Roland McGrath  <roland@frob.com>
1127
1128         * elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command.
1129
1130         * sysdeps/mach/hurd/getresuid.c: New file.
1131         * sysdeps/mach/hurd/getresgid.c: New file.
1132         * sysdeps/mach/hurd/setresuid.c: New file.
1133         * sysdeps/mach/hurd/setresgid.c: New file.
1134
1135         * posix/unistd.h [__USE_GNU] (getresuid, getresgid, setresuid,
1136         setresgid): Declare them.
1137         * NEWS: Mention it.
1138         * include/unistd.h
1139         (__getresuid, __getresgid, __setresuid, __setresgid): Declare them,
1140         add libc_hidden_proto.
1141         * posix/Versions (libc: GLIBC_2.3.2): New set.  Add
1142         getresuid, getresgid, setresuid, setresgid here.
1143         * Versions.def (libc): Define GLIBC_2.3.2 set.
1144         * sysdeps/generic/getresuid.c (__getresuid): Fix argument types.
1145         Add libc_hidden_def.
1146         * sysdeps/generic/getresgid.c (__getresgid): Likewise.
1147         * sysdeps/generic/setresgid.c: New file.
1148         * sysdeps/generic/setresuid.c: New file.
1149         * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
1150         (sysdep_routines): Don't add getresuid and getresgid here.
1151         * sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = misc]
1152         (sysdep_routines): Don't add setresuid and setresgid here.
1153         * sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
1154         * sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
1155         * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
1156         * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
1157         * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
1158         * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
1159         * posix/Makefile (routines): Add them all here instead.
1160         * sysdeps/unix/sysv/linux/i386/getresuid.c (getresuid): Renamed to
1161         __getresuid.  Add libc_hidden_def for that, and weak alias to old name.
1162         * sysdeps/unix/sysv/linux/i386/getresgid.c (getresgid): Renamed to
1163         __getresgid.  Add libc_hidden_def for that, and weak alias to old name.
1164         * sysdeps/unix/sysv/linux/i386/setresuid.c: Add libc_hidden_def.
1165         [! __NR_setresuid]: Include generic file.
1166         * sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Renamed to
1167         __setresgid.  Add libc_hidden_def for that, and weak alias to old name.
1168         [! __NR_setresuid]: Include generic file.
1169         * sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
1170         Caller is - now, not EXTRA.
1171         * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
1172         (setresuid, setresgid, getresuid, getresgid): Likewise.
1173         * sysdeps/unix/sysv/linux/syscalls.list (getresuid, getresgid):
1174         Add these calls here.
1175         * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove them here.
1176         * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
1177         * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
1178         * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
1179         * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
1180         * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
1181         * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
1182         * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
1183         * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
1184
1185         * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
1186         (sysdep_routines): Add setfsuid and setfsgid here.
1187         * sysdeps/unix/sysv/linux/arm/Makefile: Not here.
1188         * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise.
1189         * sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
1190         * sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
1191         * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
1192         * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
1193         * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
1194         * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
1195
1196         * hurd/errno.c: Renamed to ...
1197         * hurd/errno-loc.c: ... this.
1198         * hurd/Makefile (routines): errno -> errno-loc
1199
1200 2002-10-13  Ulrich Drepper  <drepper@redhat.com>
1201
1202         * po/de.po: Update from translation team.
1203
1204         * MakeTAGS: Add -E flag to xgettext runs.
1205
1206 2002-10-12  Ulrich Drepper  <drepper@redhat.com>
1207
1208         * po/fr.po: Update from translation team.
1209
1210         * sysdeps/posix/system.c: Remove support for old and buggy SCO systems.
1211         Optimize a bit for use in glibc.
1212
1213 2002-10-12  Roland McGrath  <roland@redhat.com>
1214
1215         * stdio-common/tst-rndseek.c (TIMEOUT): Increase to 10 seconds.
1216         Some machines are slow.  Guido Guenther <agx@sigxcpu.org> has one.
1217
1218 2002-10-12  Ulrich Drepper  <drepper@redhat.com>
1219
1220         * po/sv.po: Update from translation team.
1221
1222 2002-10-11  Isamu Hasegawa  <isamu@yamato.ibm.com>
1223
1224         * posix/regcomp.c (re_compile_fastmap_iter): Remove the handling
1225         OP_CONTEXT_NODE.
1226         (regfree): Likewise.
1227         (create_initial_state): Likewise.
1228         (analyze): Remove the substitutions which became useless.
1229         (calc_first): Likewise.
1230         (calc_epsdest): Use edests of OP_BACK_REF in case that it has
1231         epsilon destination.
1232         (duplicate_node_closure): New function.
1233         (duplicate_node): Remove the handling OP_CONTEXT_NODE.
1234         (calc_inveclosure): Likewise.
1235         (calc_eclosure): Likewise.
1236         (calc_eclosure_iter): Invoke duplicate_node_closure instead of
1237         direct invocation of duplicate_node.
1238         (parse): Don't use comma operator in the return to avoid compiler
1239         warning.
1240         (parse_reg_exp): Likewise.
1241         (parse_branch): Likewise.
1242         (parse_expression): Likewise.
1243         (parse_sub_exp): Likewise.
1244         (parse_dup_op): Likewise.
1245         * posix/regex_internal.c (re_dfa_add_node): Remove the substitutions
1246         which became useless.
1247         (create_ci_newstate): Remove the handling OP_CONTEXT_NODE.
1248         (create_cd_newstate): Likewise.
1249         * posix/regex_internal.h (re_token_type_t): Remove the obsolete type.
1250         (re_token_t): Likewise.
1251         (re_dfa_t): Likewise.
1252         (re_node_set_remove): New macro.
1253         * posix/regexec.c (check_matching): Remove the handling
1254         OP_CONTEXT_NODE.
1255         (check_halt_node_context): Likewise.
1256         (proceed_next_node): Likewise.
1257         (pop_fail_stack): Fix the memory leak.
1258         (set_regs): Likewise.
1259         (free_fail_stack_return): New function.
1260         (sift_states_backward): Fix the memory leak.  Remove the handling
1261         OP_CONTEXT_NODE.
1262         (update_cur_sifted_state): Append some if clause to avoid redundant
1263         call.
1264         (sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a
1265         back reference.
1266         (check_dst_limits): Remove the handling OP_CONTEXT_NODE.
1267         (check_subexp_limits): Likewise.
1268         (search_subexp): Likewise.
1269         (sift_states_bkref): Likewise.
1270         (transit_state_mb): Likewise.
1271         (transit_state_bkref_loop): Likewise.
1272         (transit_state_bkref_loop): Likewise.
1273         (group_nodes_into_DFAstates): Likewise.
1274         (check_node_accept): Likewise.
1275         (sift_ctx_init): Add initializing.
1276
1277 2002-10-12  Ulrich Drepper  <drepper@redhat.com>
1278
1279         * sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use
1280         __builtin_expect.
1281
1282 2002-10-11  Ulrich Drepper  <drepper@redhat.com>
1283
1284         * elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily
1285         duplicated variable c.
1286
1287         * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL
1288         if possible.
1289
1290         * sysdeps/unix/sysv/linux/i386/sysdep.h
1291         (INTERNAL_SYSCALL_ERROR_P): New define.
1292         (INTERNAL_SYSCALL_ERRNO): Likewise.
1293
1294         * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter):
1295         Add hack to prevent the compiler from clobbering the signal context.
1296
1297 2002-10-11  Roland McGrath  <roland@redhat.com>
1298
1299         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
1300         Fix typos.
1301
1302         * sysdeps/generic/dl-lookupcfg.h: Include <tls.h>.
1303         * sysdeps/sh/dl-lookupcfg.h: File removed.
1304         * sysdeps/i386/dl-lookupcfg.h: File removed.
1305
1306         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Add
1307         missing labels and ; from last change.
1308
1309         * stdio-common/tst-sscanf.c (val_double): Append .0 to large whole
1310         number literals, so they are doubles instead of ints.
1311
1312 2002-10-09  Roland McGrath  <roland@redhat.com>
1313
1314         * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
1315         changed from [USE_TLS && HAVE___THREAD].
1316
1317         * sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
1318         Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
1319         * sysdeps/x86_64/dl-machine.h
1320         (elf_machine_type_class, elf_machine_rela): Likewise.
1321         * sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
1322         Likewise.
1323
1324         * include/link.h (struct link_map): Remove member l_tls_tp_initialized.
1325         * elf/rtld.c (_dl_start_final, dl_main): Don't use it.
1326         (_dl_start): Conditionalize PT_TLS check on [USE___THREAD].
1327
1328         * sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
1329         instead of ___tls_get_addr.
1330         (___tls_get_addr_internal): Add attribute_hidden to decl.
1331
1332         * sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
1333         _dl_error_catch_tsd.
1334         * elf/rtld.c (startup_error_tsd): New function.
1335         (dl_main): Point _dl_error_catch_tsd at that.
1336         * elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
1337         use new function pointer instead.
1338         * elf/dl-tsd.c: New file.
1339         * elf/Makefile (routines): Add it.
1340
1341 2002-10-07  Roland McGrath  <roland@redhat.com>
1342
1343         * elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
1344         writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
1345         take _dl_load_lock around calling __writev.
1346
1347         * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
1348         (INLINE_SYSCALL): Use that.
1349
1350         * sysdeps/generic/dl-sysdep.h: New file.
1351         * sysdeps/mach/hurd/dl-sysdep.h: New file.
1352         * sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
1353         * include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
1354         [RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
1355         access it directly.
1356         * elf/dl-minimal.c (__errno_location): Removed.
1357         * sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
1358         Use GOTOFF access for errno.
1359         * sysdeps/unix/sysv/linux/i386/sysdep.h
1360         [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
1361
1362         * sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
1363         Use PC-relative access for errno.
1364         * sysdeps/unix/sysv/linux/x86_64/sysdep.h
1365         [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
1366
1367         * include/tls.h: New file.
1368         (USE___THREAD): New macro.
1369         Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
1370         libc or libpthread.
1371         * sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
1372         changed from [USE_TLS && HAVE___THREAD].
1373         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
1374         * sysdeps/unix/i386/sysdep.S: Likewise.
1375         * sysdeps/unix/x86_64/sysdep.S: Likewise.
1376         * include/errno.h: Likewise.
1377         * include/netdb.h: Likewise.
1378         * include/resolv.h: Likewise.
1379
1380         * sysdeps/generic/errno.c: New file.
1381         * csu/Makefile (aux): New variable, list errno.
1382         * sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
1383         * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
1384         * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
1385         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
1386         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
1387         * sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
1388         * sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
1389         * sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
1390         * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
1391         * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
1392         * sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
1393         * sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
1394         * sysdeps/unix/alpha/sysdep.S: Likewise.
1395         * sysdeps/generic/start.c: Likewise.
1396         * sysdeps/unix/start.c: Likewise.
1397         * sysdeps/unix/arm/start.c: Likewise.
1398         * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
1399         * sysdeps/unix/sparc/start.c: Likewise.
1400         * sysdeps/unix/sysv/irix4/start.c: Likewise.
1401         * sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.
1402
1403         * manual/search.texi (Tree Search Function, Hash Search Function):
1404         Mention search.h clearly.
1405
1406 2002-10-05  Roland McGrath  <roland@redhat.com>
1407
1408         * elf/dl-fxstat64.c: File removed.
1409         * elf/dl-xstat64.c: File removed.
1410         * elf/Makefile (rtld-routines): Remove them.
1411         * sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
1412         Instead, use strong_alias instead of versioned_symbol in the
1413         !SHLIB_COMPAT case.
1414         * sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
1415         * sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
1416
1417         * include/shlib-compat.h
1418         (SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
1419         [! NOT_IN_libc] (IS_IN_libc): Define it.
1420         * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
1421         * elf/Makefile (CPPFLAGS-.os): Likewise.
1422
1423         * sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
1424         Return the status instead of calling exit.
1425
1426         * Makeconfig (CFLAGS): Prepend -std=gnu99.
1427         * Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
1428         Remove superfluous rm command, whose @ plus make bugs hid
1429         all these commands from the make output.
1430
1431         * include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
1432         * Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
1433         Use that file's contents instead of literal echo's for the prologue.
1434         * include/features.h: Include <gnu/stubs.h> unconditionally.
1435         * include/gnu/stubs.h: New file.
1436
1437 2002-09-30  Roland McGrath  <roland@redhat.com>
1438
1439         * elf/rtld-Rules: New file.
1440         * elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
1441         $(objpfx)rtld-libc.a): New targets.
1442         (generated): Add them.
1443         (reloc-link): Remove -o $@ from the variable.
1444         ($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
1445         (distribute): Add rtld-Rules.
1446         (CPPFLAGS-.os): Define this instead of CFLAGS-.os.
1447         * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
1448         (common-mostlyclean, common-clean): Clean up rtld-* files.
1449         * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
1450
1451 2002-10-11  Roland McGrath  <roland@redhat.com>
1452
1453         * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in
1454         now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED.
1455
1456         * elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the
1457         proper set of no-op insn prefixes.
1458
1459         * elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members.
1460
1461 2002-10-11  Ulrich Drepper  <drepper@redhat.com>
1462
1463         * sysdeps/unix/sysv/linux/execve.c: Don't try calling
1464         __pthread_kill_other_threads_np.
1465
1466         * sysdeps/generic/pselect.c: Avoid unnecessary sigprocmask calls.
1467
1468 2002-10-08  Roland McGrath  <roland@redhat.com>
1469
1470         * locale/newlocale.c (__newlocale): If setting all categories to "C",
1471         just return &_nl_C_locobj instead of copying it.
1472         * locale/freelocale.c (__freelocale): Check for &_nl_C_locobj.
1473         * locale/duplocale.c (__duplocale): Likewise.
1474
1475 2002-10-07  Roland McGrath  <roland@frob.com>
1476
1477         * config.h.in (HAVE_I386_SET_GDT): New #undef.
1478         * sysdeps/mach/configure.in: Define it with new check for i386_set_gdt.
1479         * sysdeps/mach/configure: Regenerated.
1480
1481 2002-10-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1482
1483         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
1484         Add all necessary register outputs for syscall-clobbered registers.
1485
1486 2002-10-02  David Mosberger  <davidm@hpl.hp.com>
1487
1488         * sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for
1489         Itanium 2 (and Itanium).
1490         Fix unwind directives and make it fit in 80 columns.
1491         * sysdeps/ia64/memset.S: Likewise.
1492         * sysdeps/ia64/memcpy.S: Likewise.
1493         Move jump table to .rodata section.
1494
1495 2002-10-03  Roland McGrath  <roland@frob.com>
1496
1497         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add
1498         clobbers to asm.
1499
1500 2002-10-10  Andreas Jaeger  <aj@suse.de>
1501
1502         * sysdeps/x86_64/_mcount.S: Restore correct registers.
1503
1504 2002-10-10  Ulrich Drepper  <drepper@redhat.com>
1505
1506         * posix/Versions (libc) [GLIBC_PRIVATE]: Add __pselect.
1507
1508 2002-10-09  Ulrich Drepper  <drepper@redhat.com>
1509
1510         * sysdeps/generic/ldsodefs.h: Remove attribute_hidden from
1511         _dl_allocate_tls_init.  Add rtld_hidden_proto.
1512         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add
1513         rtld_hidden_def.
1514         * elf/Versions (ld) [GLIBC_PRIVATE]: Add _dl_allocate_tls_init.
1515
1516         * version.h (VERSION): Bump to 2.3.1.
1517
1518         * Make-dist: Add back one of the tar invocations removed before.
1519
1520         * stdlib/Makefile (distribute): Add allocalim.h.
1521
1522         * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
1523         (__libc_tsd_address): Use correct variable name.
1524         Patch by Stefan Jones <stefan.jones@multigig.com>.
1525
1526         * sysdeps/unix/sysv/linux/ia64/getcontext.S: Add missing ;;.
1527         Reported by edwardsg@sgi.com [PR libc/4678].
1528
1529         * Versions.def (libc): Add GLIBC_2.3.1.
1530         (libpthread): Add GLIBC_2.3.1.
1531
1532         * include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo,
1533         and __sigtimedwait.
1534         * signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo.
1535         * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add
1536         libc_hidden_def.
1537         * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise.
1538         * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.
1539
1540         * include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd.
1541         * sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv
1542         and make old name an alias.
1543         * sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd
1544         and make old name an alias.
1545         * sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and
1546         __libc_msgsnd.
1547
1548         * include/sys/uio.h: Declare __libc_readv and __libc_writev.
1549         * misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and
1550         __libc_writev.
1551         * sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make
1552         old name an alias.
1553         * sysdeps/posix/readv.c: Likewise
1554         * sysdeps/unix/sysv/aix/readv.c: Likewise.
1555         * sysdeps/unix/sysv/linux/readv.c: Likewise.
1556         * sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make
1557         old name an alias.
1558         * sysdeps/posix/writev.c: Likewise
1559         * sysdeps/unix/sysv/aix/writev.c: Likewise.
1560         * sysdeps/unix/sysv/linux/writev.c: Likewise.
1561
1562         * include/sys/wait.h: Declare __waitid.
1563         * posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid.
1564         * sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old
1565         name an alias.
1566         * sysdeps/posix/waitid.c: Likewise.
1567         * sysdeps/unix/sysv/aix/waitid.c: Likewise.
1568
1569         * sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall.
1570
1571 2002-10-07  Jakub Jelinek  <jakub@redhat.com>
1572
1573         * include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New
1574         prototypes.
1575         (__MAX_ALLOCA_CUTOFF): Define.
1576         Include allocalim.h.
1577         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
1578         _nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate
1579         host_buffer depending on __libc_use_alloca.
1580         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
1581         _nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate
1582         net_buffer depending on __libc_use_alloca.
1583         * resolv/res_query.c (res_nquery): Use alloca or malloc to allocate
1584         buf depending on __libc_use_alloca.
1585         * resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise.
1586         * stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca
1587         instead of hardcoded constants.
1588         Pass proper size argument to alloca and compute end for wide char
1589         version.
1590         * stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca
1591         instead of hardcoded constants.
1592         * string/strcoll.c (strcoll): Likewise.
1593         * string/strxfrm.c (strxfrm): Likewise.
1594         * sysdeps/posix/readv.c (__readv): Likewise.
1595         * sysdeps/posix/writev.c (__writev): Likewise.
1596         * sysdeps/generic/allocalim.h: New file.
1597
1598 2002-10-08  Roland McGrath  <roland@redhat.com>
1599
1600         * configure.in (aux_missing warning): Change "too old" to
1601         "incompatible versions", since for autoconf it's "too new" right now.
1602         * configure: Regenerated.
1603
1604         * configure.in (AUTOCONF): New check to set it.  Set to "no" if the
1605         one found doesn't work on our configure.in.
1606         * configure: Regenerated.
1607         * config.make.in (AUTOCONF): New substituted variable.
1608         * Makefile (autoconf-it-cvs): New canned sequence, broken out of ...
1609         (autoconf-it): ... here, use that instead of defining conditionally.
1610         Use $(AUTOCONF) instead of literal autoconf.
1611         [$(AUTOCONF) != no] (configure, %/configure): Protect these rules
1612         with this condition.
1613         * Make-dist (autoconf-it, configure, %/configure): Copy those changes.
1614
1615 2002-10-08  Ulrich Drepper  <drepper@redhat.com>
1616
1617         * Make-dist (dist): Cleanup a bit.  We are not interested in the
1618         14 char filename limit anymore.  Remove intermediate files and
1619         symlinks.
1620
1621 2002-10-05  Ulrich Drepper  <drepper@redhat.com>
1622
1623         * po/sk.po: Update from translation team.
1624         * po/tr.po: Likewise.
1625         * po/gl.po: Likewise.
1626
1627 2002-10-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1628
1629         * elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax.
1630
1631 2002-10-03  Ulrich Drepper  <drepper@redhat.com>
1632
1633         * version.h (RELEASE): Change to stable.
1634
1635 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
1636
1637         * sysdeps/unix/sysv/linux/_exit.c (__syscall_exit,
1638         __syscall_exit_group): New prototypes.
1639
1640 2002-10-03  Ulrich Drepper  <drepper@redhat.com>
1641
1642         * glibc 2.3 released.
1643
1644
1645 See ChangeLog.13 for earlier changes.