* sysdeps/generic/dl-lookupcfg.h: Include <tls.h>.
[glibc.git] / ChangeLog
blobd335df9885f468aae2dbaf0d01bacaf4e045bb87
1 2002-10-11  Roland McGrath  <roland@redhat.com>
3         * sysdeps/generic/dl-lookupcfg.h: Include <tls.h>.
4         * sysdeps/sh/dl-lookupcfg.h: File removed.
5         * sysdeps/i386/dl-lookupcfg.h: File removed.
7         * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Add
8         missing labels and ; from last change.
10         * stdio-common/tst-sscanf.c (val_double): Append .0 to large whole
11         number literals, so they are doubles instead of ints.
13 2002-10-09  Roland McGrath  <roland@redhat.com>
15         * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
16         changed from [USE_TLS && HAVE___THREAD].
18         * sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
19         Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
20         * sysdeps/x86_64/dl-machine.h
21         (elf_machine_type_class, elf_machine_rela): Likewise.
22         * sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
23         Likewise.
25         * include/link.h (struct link_map): Remove member l_tls_tp_initialized.
26         * elf/rtld.c (_dl_start_final, dl_main): Don't use it.
27         (_dl_start): Conditionalize PT_TLS check on [USE___THREAD].
29         * sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
30         instead of ___tls_get_addr.
31         (___tls_get_addr_internal): Add attribute_hidden to decl.
33         * sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
34         _dl_error_catch_tsd.
35         * elf/rtld.c (startup_error_tsd): New function.
36         (dl_main): Point _dl_error_catch_tsd at that.
37         * elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
38         use new function pointer instead.
39         * elf/dl-tsd.c: New file.
40         * elf/Makefile (routines): Add it.
42 2002-10-07  Roland McGrath  <roland@redhat.com>
44         * elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
45         writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
46         take _dl_load_lock around calling __writev.
48         * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
49         (INLINE_SYSCALL): Use that.
51         * sysdeps/generic/dl-sysdep.h: New file.
52         * sysdeps/mach/hurd/dl-sysdep.h: New file.
53         * sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
54         * include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
55         [RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
56         access it directly.
57         * elf/dl-minimal.c (__errno_location): Removed.
58         * sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
59         Use GOTOFF access for errno.
60         * sysdeps/unix/sysv/linux/i386/sysdep.h
61         [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
63         * sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
64         Use PC-relative access for errno.
65         * sysdeps/unix/sysv/linux/x86_64/sysdep.h
66         [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
68         * include/tls.h: New file.
69         (USE___THREAD): New macro.
70         Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
71         libc or libpthread.
72         * sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
73         changed from [USE_TLS && HAVE___THREAD].
74         * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
75         * sysdeps/unix/i386/sysdep.S: Likewise.
76         * sysdeps/unix/x86_64/sysdep.S: Likewise.
77         * include/errno.h: Likewise.
78         * include/netdb.h: Likewise.
79         * include/resolv.h: Likewise.
81         * sysdeps/generic/errno.c: New file.
82         * csu/Makefile (aux): New variable, list errno.
83         * sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
84         * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
85         * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
86         * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
87         * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
88         * sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
89         * sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
90         * sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
91         * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
92         * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
93         * sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
94         * sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
95         * sysdeps/unix/alpha/sysdep.S: Likewise.
96         * sysdeps/generic/start.c: Likewise.
97         * sysdeps/unix/start.c: Likewise.
98         * sysdeps/unix/arm/start.c: Likewise.
99         * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
100         * sysdeps/unix/sparc/start.c: Likewise.
101         * sysdeps/unix/sysv/irix4/start.c: Likewise.
102         * sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.
104         * manual/search.texi (Tree Search Function, Hash Search Function):
105         Mention search.h clearly.
107 2002-10-05  Roland McGrath  <roland@redhat.com>
109         * elf/dl-fxstat64.c: File removed.
110         * elf/dl-xstat64.c: File removed.
111         * elf/Makefile (rtld-routines): Remove them.
112         * sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
113         Instead, use strong_alias instead of versioned_symbol in the
114         !SHLIB_COMPAT case.
115         * sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
116         * sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
118         * include/shlib-compat.h
119         (SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
120         [! NOT_IN_libc] (IS_IN_libc): Define it.
121         * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
122         * elf/Makefile (CPPFLAGS-.os): Likewise.
124         * sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
125         Return the status instead of calling exit.
127         * Makeconfig (CFLAGS): Prepend -std=gnu99.
128         * Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
129         Remove superfluous rm command, whose @ plus make bugs hid
130         all these commands from the make output.
132         * include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
133         * Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
134         Use that file's contents instead of literal echo's for the prologue.
135         * include/features.h: Include <gnu/stubs.h> unconditionally.
136         * include/gnu/stubs.h: New file.
138 2002-09-30  Roland McGrath  <roland@redhat.com>
140         * elf/rtld-Rules: New file.
141         * elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
142         $(objpfx)rtld-libc.a): New targets.
143         (generated): Add them.
144         (reloc-link): Remove -o $@ from the variable.
145         ($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
146         (distribute): Add rtld-Rules.
147         (CPPFLAGS-.os): Define this instead of CFLAGS-.os.
148         * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
149         (common-mostlyclean, common-clean): Clean up rtld-* files.
150         * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
152 2002-10-11  Roland McGrath  <roland@redhat.com>
154         * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in
155         now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED.
157         * elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the
158         proper set of no-op insn prefixes.
160         * elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members.
162 2002-10-11  Ulrich Drepper  <drepper@redhat.com>
164         * sysdeps/unix/sysv/linux/execve.c: Don't try calling
165         __pthread_kill_other_threads_np.
167         * sysdeps/generic/pselect.c: Avoid unnecessary sigprocmask calls.
169 2002-10-08  Roland McGrath  <roland@redhat.com>
171         * locale/newlocale.c (__newlocale): If setting all categories to "C",
172         just return &_nl_C_locobj instead of copying it.
173         * locale/freelocale.c (__freelocale): Check for &_nl_C_locobj.
174         * locale/duplocale.c (__duplocale): Likewise.
176 2002-10-07  Roland McGrath  <roland@frob.com>
178         * config.h.in (HAVE_I386_SET_GDT): New #undef.
179         * sysdeps/mach/configure.in: Define it with new check for i386_set_gdt.
180         * sysdeps/mach/configure: Regenerated.
182 2002-10-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
184         * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
185         Add all necessary register outputs for syscall-clobbered registers.
187 2002-10-02  David Mosberger  <davidm@hpl.hp.com>
189         * sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for
190         Itanium 2 (and Itanium).
191         Fix unwind directives and make it fit in 80 columns.
192         * sysdeps/ia64/memset.S: Likewise.
193         * sysdeps/ia64/memcpy.S: Likewise.
194         Move jump table to .rodata section.
196 2002-10-03  Roland McGrath  <roland@frob.com>
198         * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add
199         clobbers to asm.
201 2002-10-10  Andreas Jaeger  <aj@suse.de>
203         * sysdeps/x86_64/_mcount.S: Restore correct registers.
205 2002-10-10  Ulrich Drepper  <drepper@redhat.com>
207         * posix/Versions (libc) [GLIBC_PRIVATE]: Add __pselect.
209 2002-10-09  Ulrich Drepper  <drepper@redhat.com>
211         * sysdeps/generic/ldsodefs.h: Remove attribute_hidden from
212         _dl_allocate_tls_init.  Add rtld_hidden_proto.
213         * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add
214         rtld_hidden_def.
215         * elf/Versions (ld) [GLIBC_PRIVATE]: Add _dl_allocate_tls_init.
217         * version.h (VERSION): Bump to 2.3.1.
219         * Make-dist: Add back one of the tar invocations removed before.
221         * stdlib/Makefile (distribute): Add allocalim.h.
223         * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
224         (__libc_tsd_address): Use correct variable name.
225         Patch by Stefan Jones <stefan.jones@multigig.com>.
227         * sysdeps/unix/sysv/linux/ia64/getcontext.S: Add missing ;;.
228         Reported by edwardsg@sgi.com [PR libc/4678].
230         * Versions.def (libc): Add GLIBC_2.3.1.
231         (libpthread): Add GLIBC_2.3.1.
233         * include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo,
234         and __sigtimedwait.
235         * signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo.
236         * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add
237         libc_hidden_def.
238         * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise.
239         * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.
241         * include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd.
242         * sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv
243         and make old name an alias.
244         * sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd
245         and make old name an alias.
246         * sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and
247         __libc_msgsnd.
249         * include/sys/uio.h: Declare __libc_readv and __libc_writev.
250         * misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and
251         __libc_writev.
252         * sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make
253         old name an alias.
254         * sysdeps/posix/readv.c: Likewise
255         * sysdeps/unix/sysv/aix/readv.c: Likewise.
256         * sysdeps/unix/sysv/linux/readv.c: Likewise.
257         * sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make
258         old name an alias.
259         * sysdeps/posix/writev.c: Likewise
260         * sysdeps/unix/sysv/aix/writev.c: Likewise.
261         * sysdeps/unix/sysv/linux/writev.c: Likewise.
263         * include/sys/wait.h: Declare __waitid.
264         * posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid.
265         * sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old
266         name an alias.
267         * sysdeps/posix/waitid.c: Likewise.
268         * sysdeps/unix/sysv/aix/waitid.c: Likewise.
270         * sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall.
272 2002-10-07  Jakub Jelinek  <jakub@redhat.com>
274         * include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New
275         prototypes.
276         (__MAX_ALLOCA_CUTOFF): Define.
277         Include allocalim.h.
278         * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
279         _nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate
280         host_buffer depending on __libc_use_alloca.
281         * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
282         _nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate
283         net_buffer depending on __libc_use_alloca.
284         * resolv/res_query.c (res_nquery): Use alloca or malloc to allocate
285         buf depending on __libc_use_alloca.
286         * resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise.
287         * stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca
288         instead of hardcoded constants.
289         Pass proper size argument to alloca and compute end for wide char
290         version.
291         * stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca
292         instead of hardcoded constants.
293         * string/strcoll.c (strcoll): Likewise.
294         * string/strxfrm.c (strxfrm): Likewise.
295         * sysdeps/posix/readv.c (__readv): Likewise.
296         * sysdeps/posix/writev.c (__writev): Likewise.
297         * sysdeps/generic/allocalim.h: New file.
299 2002-10-08  Roland McGrath  <roland@redhat.com>
301         * configure.in (aux_missing warning): Change "too old" to
302         "incompatible versions", since for autoconf it's "too new" right now.
303         * configure: Regenerated.
305         * configure.in (AUTOCONF): New check to set it.  Set to "no" if the
306         one found doesn't work on our configure.in.
307         * configure: Regenerated.
308         * config.make.in (AUTOCONF): New substituted variable.
309         * Makefile (autoconf-it-cvs): New canned sequence, broken out of ...
310         (autoconf-it): ... here, use that instead of defining conditionally.
311         Use $(AUTOCONF) instead of literal autoconf.
312         [$(AUTOCONF) != no] (configure, %/configure): Protect these rules
313         with this condition.
314         * Make-dist (autoconf-it, configure, %/configure): Copy those changes.
316 2002-10-08  Ulrich Drepper  <drepper@redhat.com>
318         * Make-dist (dist): Cleanup a bit.  We are not interested in the
319         14 char filename limit anymore.  Remove intermediate files and
320         symlinks.
322 2002-10-05  Ulrich Drepper  <drepper@redhat.com>
324         * po/sk.po: Update from translation team.
325         * po/tr.po: Likewise.
326         * po/gl.po: Likewise.
328 2002-10-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
330         * elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax.
332 2002-10-03  Ulrich Drepper  <drepper@redhat.com>
334         * version.h (RELEASE): Change to stable.
336 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
338         * sysdeps/unix/sysv/linux/_exit.c (__syscall_exit,
339         __syscall_exit_group): New prototypes.
341 2002-10-03  Ulrich Drepper  <drepper@redhat.com>
343         * glibc 2.3 released.
346 See ChangeLog.13 for earlier changes.