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