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