glibc/ChangeLog
Roland McGrath 0a951d0e31 * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
instead of += to append, to be sure $(lib) gets expanded at defn time.
	(libof-$(cpp-src)): New variable, define this instead.
	* extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
	(lib): Don't use override.
	(CPPFLAGS-$(lib)): New variable, put -D's here.
	* Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
	Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
	LIB found by $(libof-*) for basename, target, or source.
	* Makerules (CPPFLAGS-nonlib): New variable.
	* nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
	* locale/Makefile (lib): Likewise.
	* sunrpc/Makefile (lib): Likewise.

	* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
	* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
	* sysdeps/unix/sysv/linux/pathconf.h: New file.
	(statfs_link_max): New function, guts from fpathconf.c.
	* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
	to use the linux/pathconf.c code by #include rather than duplication.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.

2002-10-16  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
	Use __libc_errno only for libc itself.
2002-10-16 22:09:55 +00:00

748 lines
29 KiB
Plaintext

2002-10-16 Roland McGrath <roland@redhat.com>
* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.
instead of += to append, to be sure $(lib) gets expanded at defn time.
(libof-$(cpp-src)): New variable, define this instead.
* extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup.
(lib): Don't use override.
(CPPFLAGS-$(lib)): New variable, put -D's here.
* Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename.
Also add $(CPPFLAGS-LIB) before the file-specific flags, for each
LIB found by $(libof-*) for basename, target, or source.
* Makerules (CPPFLAGS-nonlib): New variable.
* nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk.
* locale/Makefile (lib): Likewise.
* sunrpc/Makefile (lib): Likewise.
* sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ...
* sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here.
* sysdeps/unix/sysv/linux/pathconf.h: New file.
(statfs_link_max): New function, guts from fpathconf.c.
* sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that.
* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten
to use the linux/pathconf.c code by #include rather than duplication.
* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise.
2002-10-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
Use __libc_errno only for libc itself.
2002-10-16 Andreas Jaeger <aj@suse.de>
* sysdeps/x86_64/_mcount.S: Fix off-by-1 error in argument access.
2002-10-16 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
Use __libc_errno only for libc itself.
2002-10-15 Roland McGrath <roland@redhat.com>
Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/Makefile
($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Take code from
sparc/Makefile to produce a bi-arch file as needed.
That's now parameterized by the variable $(64bit-predefine).
Use LC_ALL=C for `comm' commands in that rule.
No longer conditional on [$(no_syscall_list_h)].
* sysdeps/unix/sysv/linux/sparc/Makefile: Remove replacement rules.
(64bit-predefine): New variable.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise.
* sysdeps/unix/sysv/linux/s390/Makefile: New file.
* sysdeps/unix/sysv/linux/powerpc/Makefile
(64bit-predefine): New variable.
2002-10-15 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/Makefile
($(objpfx)syscall-%.h $(objpfx)syscall-%.d)
* login/utmp-private.h: Declare __libc_utmp_lock.
* sysdeps/unix/getlogin_r.c (getlogin_r): Take __libc_utmp_lock once
and call __libc_utmp_jump_table functions directly, instead of using
__setutent et al.
* sysdeps/unix/sysv/linux/configure.in: Use case instead of if.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* sysdeps/gnu/bits/utmp.h: Include <bits/wordsize.h>.
(struct lastlog) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
Use int32_t for ll_time.
(struct utmp) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]:
Use int32_t instead of long int for ut_session.
Use an anonymous struct with 32-bit fields for ut_tv.
* sysdeps/gnu/bits/utmpx.h: Include <bits/wordsize.h>.
(struct utmpx) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Do the same
here as in utmp.h for `struct utmp'.
* sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: File removed.
* sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/utmp.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: File removed.
* sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents
of the sysdeps/unix/sysv/linux/i386/bits/resource.h file.
All the following files were identical or equivalent to it.
* sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed.
* sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Use size_t
instead of int for msg_iovlen, instead of socklen_t for msg_controllen.
Other than the previously incorrect sign of msg_iovlen, this is a
no-op on 32-bit platforms. On 64-bit platforms it makes this header
match their layouts as well, so the following are now identical to it.
* sysdeps/unix/sysv/linux/s390/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/socket.h: File removed.
* sysdeps/unix/sysv/linux/alpha/bits/socket.h: File removed.
2002-10-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL):
Define for 2.4+ kernels.
* sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which
are known to have the vfork syscall. Don't confuse the CPUs
branch prediction unit by jumping to the return address.
* sysdeps/unix/sysv/linux/alpha/fpathconf.c (__fpathconf): Add
support for reiserfs and xfs.
* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Add case for
XFS link count.
* sysdeps/unix/sysv/linux/linux_fsinfo.h: Define XFS_SUPER_MAGIC
and XFS_LINK_MAX.
Patch by Eric Sandeen <sandeen@sgi.com> [PR libc/4706].
2002-10-16 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (attribute_tls_model_ie): Define.
* include/errno.h (errno): Define to __libc_errno in libc.so.
Add attribute_tls_model_ie.
* include/netdb.h (h_errno): Define to __libc_h_errno in libc.so.
Add attribute_tls_model_ie.
* include/resolv.h (_res): Define to __libc_res in libc.so. Add
attribute_tls_model_ie.
* inet/herrno.c (__libc_h_errno): Add hidden alias to h_errno.
(h_errno): Define.
* resolv/res_libc.c (__libc_res): Add hidden alias to _res.
(_res): Define.
* sysdeps/generic/bits/libc-tsd.h (__libc_tsd_define): Add
attribute_tls_model_ie.
* sysdeps/generic/errno-loc.c (errno): Only undefine if not using
__thread.
* sysdeps/generic/errno.c (__libc_errno): Add hidden alias to errno.
* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER): Use
__libc_errno in USE___THREAD case.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
Likewise.
* configure.in (HAVE_TLS_MODEL_ATTRIBUTE): Check for
__attribute__((tls_model (""))).
* configure: Rebuilt.
* config.h.in (HAVE_TLS_MODEL_ATTRIBUTE): Add.
2002-10-15 Ulrich Drepper <drepper@redhat.com>
* timezone/asia: Update from tzdata2002d.
* timezone/australasia: Likewise.
* timezone/iso3166.tab: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone-tab: Likewise.
2002-10-15 Roland McGrath <roland@redhat.com>
* sysdeps/generic/dl-tls.c (_dl_deallocate_tls) [TLS_TCB_AT_TP]:
Adjust TCB pointer before calling free, so we get the whole block.
2002-10-14 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c
[HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt
extern using attribute_hidden instead of static, avoids warning.
2002-10-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/configure.in: Use */lib64 for s390x too.
* sysdeps/unix/sysv/linux/configure: Rebuilt.
2002-10-14 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
2002-10-12 H.J. Lu <hjl@gnu.org>
* sunrpc/thrsvc.c (PROCQUIT): New.
(struct rpc_arg): New.
(dispatch): Call exit (0) if request->rq_proc == PROCQUIT.
(test_one_call): Take struct rpc_arg * instead of CLIENT *c.
(thread_wrapper): Modified for struct rpc_arg * and call PROCQUIT.
(main): Modified for struct rpc_arg *.
2002-10-14 Ulrich Drepper <drepper@redhat.com>
* dirent/scandir.c: Rearrange code a bit to reduce binary size.
2002-10-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Include tls.h.
(SYSCALL_ERROR_HANDLER): Use RTLD_PRIVATE_ERRNO sequence
in ld.so even if __thread is supported.
2002-10-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter):
Add hack to prevent the compiler from clobbering the signal context.
* sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter):
Likewise.
* sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter):
Likewise.
2002-10-14 Andreas Jaeger <aj@suse.de>
* sysdeps/mips/fpu/libm-test-ulps: Regenerated by
Guido Guenther <agx@sigxcpu.org>.
2002-10-14 Ulrich Drepper <drepper@redhat.com>
* po/sk.po: Update from translation team.
2002-09-26 Roland McGrath <roland@redhat.com>
* elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB
dynamic string tag.
* elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define
DL_DST_LIB based on $(slibdir).
2002-10-13 Roland McGrath <roland@frob.com>
* elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command.
* sysdeps/mach/hurd/getresuid.c: New file.
* sysdeps/mach/hurd/getresgid.c: New file.
* sysdeps/mach/hurd/setresuid.c: New file.
* sysdeps/mach/hurd/setresgid.c: New file.
* posix/unistd.h [__USE_GNU] (getresuid, getresgid, setresuid,
setresgid): Declare them.
* NEWS: Mention it.
* include/unistd.h
(__getresuid, __getresgid, __setresuid, __setresgid): Declare them,
add libc_hidden_proto.
* posix/Versions (libc: GLIBC_2.3.2): New set. Add
getresuid, getresgid, setresuid, setresgid here.
* Versions.def (libc): Define GLIBC_2.3.2 set.
* sysdeps/generic/getresuid.c (__getresuid): Fix argument types.
Add libc_hidden_def.
* sysdeps/generic/getresgid.c (__getresgid): Likewise.
* sysdeps/generic/setresgid.c: New file.
* sysdeps/generic/setresuid.c: New file.
* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
(sysdep_routines): Don't add getresuid and getresgid here.
* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = misc]
(sysdep_routines): Don't add setresuid and setresgid here.
* sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
* sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
* posix/Makefile (routines): Add them all here instead.
* sysdeps/unix/sysv/linux/i386/getresuid.c (getresuid): Renamed to
__getresuid. Add libc_hidden_def for that, and weak alias to old name.
* sysdeps/unix/sysv/linux/i386/getresgid.c (getresgid): Renamed to
__getresgid. Add libc_hidden_def for that, and weak alias to old name.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Add libc_hidden_def.
[! __NR_setresuid]: Include generic file.
* sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Renamed to
__setresgid. Add libc_hidden_def for that, and weak alias to old name.
[! __NR_setresuid]: Include generic file.
* sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
Caller is - now, not EXTRA.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
(setresuid, setresgid, getresuid, getresgid): Likewise.
* sysdeps/unix/sysv/linux/syscalls.list (getresuid, getresgid):
Add these calls here.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove them here.
* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
(sysdep_routines): Add setfsuid and setfsgid here.
* sysdeps/unix/sysv/linux/arm/Makefile: Not here.
* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise.
* sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
* sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
* hurd/errno.c: Renamed to ...
* hurd/errno-loc.c: ... this.
* hurd/Makefile (routines): errno -> errno-loc
2002-10-13 Ulrich Drepper <drepper@redhat.com>
* po/de.po: Update from translation team.
* MakeTAGS: Add -E flag to xgettext runs.
2002-10-12 Ulrich Drepper <drepper@redhat.com>
* po/fr.po: Update from translation team.
* sysdeps/posix/system.c: Remove support for old and buggy SCO systems.
Optimize a bit for use in glibc.
2002-10-12 Roland McGrath <roland@redhat.com>
* stdio-common/tst-rndseek.c (TIMEOUT): Increase to 10 seconds.
Some machines are slow. Guido Guenther <agx@sigxcpu.org> has one.
2002-10-12 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
2002-10-11 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (re_compile_fastmap_iter): Remove the handling
OP_CONTEXT_NODE.
(regfree): Likewise.
(create_initial_state): Likewise.
(analyze): Remove the substitutions which became useless.
(calc_first): Likewise.
(calc_epsdest): Use edests of OP_BACK_REF in case that it has
epsilon destination.
(duplicate_node_closure): New function.
(duplicate_node): Remove the handling OP_CONTEXT_NODE.
(calc_inveclosure): Likewise.
(calc_eclosure): Likewise.
(calc_eclosure_iter): Invoke duplicate_node_closure instead of
direct invocation of duplicate_node.
(parse): Don't use comma operator in the return to avoid compiler
warning.
(parse_reg_exp): Likewise.
(parse_branch): Likewise.
(parse_expression): Likewise.
(parse_sub_exp): Likewise.
(parse_dup_op): Likewise.
* posix/regex_internal.c (re_dfa_add_node): Remove the substitutions
which became useless.
(create_ci_newstate): Remove the handling OP_CONTEXT_NODE.
(create_cd_newstate): Likewise.
* posix/regex_internal.h (re_token_type_t): Remove the obsolete type.
(re_token_t): Likewise.
(re_dfa_t): Likewise.
(re_node_set_remove): New macro.
* posix/regexec.c (check_matching): Remove the handling
OP_CONTEXT_NODE.
(check_halt_node_context): Likewise.
(proceed_next_node): Likewise.
(pop_fail_stack): Fix the memory leak.
(set_regs): Likewise.
(free_fail_stack_return): New function.
(sift_states_backward): Fix the memory leak. Remove the handling
OP_CONTEXT_NODE.
(update_cur_sifted_state): Append some if clause to avoid redundant
call.
(sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a
back reference.
(check_dst_limits): Remove the handling OP_CONTEXT_NODE.
(check_subexp_limits): Likewise.
(search_subexp): Likewise.
(sift_states_bkref): Likewise.
(transit_state_mb): Likewise.
(transit_state_bkref_loop): Likewise.
(transit_state_bkref_loop): Likewise.
(group_nodes_into_DFAstates): Likewise.
(check_node_accept): Likewise.
(sift_ctx_init): Add initializing.
2002-10-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use
__builtin_expect.
2002-10-11 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily
duplicated variable c.
* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL
if possible.
* sysdeps/unix/sysv/linux/i386/sysdep.h
(INTERNAL_SYSCALL_ERROR_P): New define.
(INTERNAL_SYSCALL_ERRNO): Likewise.
* sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter):
Add hack to prevent the compiler from clobbering the signal context.
2002-10-11 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
Fix typos.
* sysdeps/generic/dl-lookupcfg.h: Include <tls.h>.
* sysdeps/sh/dl-lookupcfg.h: File removed.
* sysdeps/i386/dl-lookupcfg.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Add
missing labels and ; from last change.
* stdio-common/tst-sscanf.c (val_double): Append .0 to large whole
number literals, so they are doubles instead of ints.
2002-10-09 Roland McGrath <roland@redhat.com>
* sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].
* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
* sysdeps/x86_64/dl-machine.h
(elf_machine_type_class, elf_machine_rela): Likewise.
* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
Likewise.
* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].
* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
instead of ___tls_get_addr.
(___tls_get_addr_internal): Add attribute_hidden to decl.
* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
_dl_error_catch_tsd.
* elf/rtld.c (startup_error_tsd): New function.
(dl_main): Point _dl_error_catch_tsd at that.
* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
use new function pointer instead.
* elf/dl-tsd.c: New file.
* elf/Makefile (routines): Add it.
2002-10-07 Roland McGrath <roland@redhat.com>
* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
writev if it's available. Otherwise if [RTLD_PRIVATE_ERRNO] then
take _dl_load_lock around calling __writev.
* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
(INLINE_SYSCALL): Use that.
* sysdeps/generic/dl-sysdep.h: New file.
* sysdeps/mach/hurd/dl-sysdep.h: New file.
* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
access it directly.
* elf/dl-minimal.c (__errno_location): Removed.
* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
Use GOTOFF access for errno.
* sysdeps/unix/sysv/linux/i386/sysdep.h
[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
Use PC-relative access for errno.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h
[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
* include/tls.h: New file.
(USE___THREAD): New macro.
Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
libc or libpthread.
* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/unix/i386/sysdep.S: Likewise.
* sysdeps/unix/x86_64/sysdep.S: Likewise.
* include/errno.h: Likewise.
* include/netdb.h: Likewise.
* include/resolv.h: Likewise.
* sysdeps/generic/errno.c: New file.
* csu/Makefile (aux): New variable, list errno.
* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
* sysdeps/unix/alpha/sysdep.S: Likewise.
* sysdeps/generic/start.c: Likewise.
* sysdeps/unix/start.c: Likewise.
* sysdeps/unix/arm/start.c: Likewise.
* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
* sysdeps/unix/sparc/start.c: Likewise.
* sysdeps/unix/sysv/irix4/start.c: Likewise.
* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.
* manual/search.texi (Tree Search Function, Hash Search Function):
Mention search.h clearly.
2002-10-05 Roland McGrath <roland@redhat.com>
* elf/dl-fxstat64.c: File removed.
* elf/dl-xstat64.c: File removed.
* elf/Makefile (rtld-routines): Remove them.
* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
Instead, use strong_alias instead of versioned_symbol in the
!SHLIB_COMPAT case.
* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
* include/shlib-compat.h
(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
[! NOT_IN_libc] (IS_IN_libc): Define it.
* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
* elf/Makefile (CPPFLAGS-.os): Likewise.
* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
Return the status instead of calling exit.
* Makeconfig (CFLAGS): Prepend -std=gnu99.
* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
Remove superfluous rm command, whose @ plus make bugs hid
all these commands from the make output.
* include/stubs-prologue.h: New file. Give #error under #ifdef _LIBC.
* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
Use that file's contents instead of literal echo's for the prologue.
* include/features.h: Include <gnu/stubs.h> unconditionally.
* include/gnu/stubs.h: New file.
2002-09-30 Roland McGrath <roland@redhat.com>
* elf/rtld-Rules: New file.
* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
$(objpfx)rtld-libc.a): New targets.
(generated): Add them.
(reloc-link): Remove -o $@ from the variable.
($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
(distribute): Add rtld-Rules.
(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
(common-mostlyclean, common-clean): Clean up rtld-* files.
* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-10-11 Roland McGrath <roland@redhat.com>
* sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in
now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED.
* elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the
proper set of no-op insn prefixes.
* elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members.
2002-10-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/execve.c: Don't try calling
__pthread_kill_other_threads_np.
* sysdeps/generic/pselect.c: Avoid unnecessary sigprocmask calls.
2002-10-08 Roland McGrath <roland@redhat.com>
* locale/newlocale.c (__newlocale): If setting all categories to "C",
just return &_nl_C_locobj instead of copying it.
* locale/freelocale.c (__freelocale): Check for &_nl_C_locobj.
* locale/duplocale.c (__duplocale): Likewise.
2002-10-07 Roland McGrath <roland@frob.com>
* config.h.in (HAVE_I386_SET_GDT): New #undef.
* sysdeps/mach/configure.in: Define it with new check for i386_set_gdt.
* sysdeps/mach/configure: Regenerated.
2002-10-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
Add all necessary register outputs for syscall-clobbered registers.
2002-10-02 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for
Itanium 2 (and Itanium).
Fix unwind directives and make it fit in 80 columns.
* sysdeps/ia64/memset.S: Likewise.
* sysdeps/ia64/memcpy.S: Likewise.
Move jump table to .rodata section.
2002-10-03 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add
clobbers to asm.
2002-10-10 Andreas Jaeger <aj@suse.de>
* sysdeps/x86_64/_mcount.S: Restore correct registers.
2002-10-10 Ulrich Drepper <drepper@redhat.com>
* posix/Versions (libc) [GLIBC_PRIVATE]: Add __pselect.
2002-10-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/ldsodefs.h: Remove attribute_hidden from
_dl_allocate_tls_init. Add rtld_hidden_proto.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add
rtld_hidden_def.
* elf/Versions (ld) [GLIBC_PRIVATE]: Add _dl_allocate_tls_init.
* version.h (VERSION): Bump to 2.3.1.
* Make-dist: Add back one of the tar invocations removed before.
* stdlib/Makefile (distribute): Add allocalim.h.
* sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)]
(__libc_tsd_address): Use correct variable name.
Patch by Stefan Jones <stefan.jones@multigig.com>.
* sysdeps/unix/sysv/linux/ia64/getcontext.S: Add missing ;;.
Reported by edwardsg@sgi.com [PR libc/4678].
* Versions.def (libc): Add GLIBC_2.3.1.
(libpthread): Add GLIBC_2.3.1.
* include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo,
and __sigtimedwait.
* signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo.
* sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add
libc_hidden_def.
* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.
* include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd.
* sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv
and make old name an alias.
* sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd
and make old name an alias.
* sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and
__libc_msgsnd.
* include/sys/uio.h: Declare __libc_readv and __libc_writev.
* misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and
__libc_writev.
* sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make
old name an alias.
* sysdeps/posix/readv.c: Likewise
* sysdeps/unix/sysv/aix/readv.c: Likewise.
* sysdeps/unix/sysv/linux/readv.c: Likewise.
* sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make
old name an alias.
* sysdeps/posix/writev.c: Likewise
* sysdeps/unix/sysv/aix/writev.c: Likewise.
* sysdeps/unix/sysv/linux/writev.c: Likewise.
* include/sys/wait.h: Declare __waitid.
* posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid.
* sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old
name an alias.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/aix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall.
2002-10-07 Jakub Jelinek <jakub@redhat.com>
* include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New
prototypes.
(__MAX_ALLOCA_CUTOFF): Define.
Include allocalim.h.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
_nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate
host_buffer depending on __libc_use_alloca.
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
_nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate
net_buffer depending on __libc_use_alloca.
* resolv/res_query.c (res_nquery): Use alloca or malloc to allocate
buf depending on __libc_use_alloca.
* resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise.
* stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca
instead of hardcoded constants.
Pass proper size argument to alloca and compute end for wide char
version.
* stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca
instead of hardcoded constants.
* string/strcoll.c (strcoll): Likewise.
* string/strxfrm.c (strxfrm): Likewise.
* sysdeps/posix/readv.c (__readv): Likewise.
* sysdeps/posix/writev.c (__writev): Likewise.
* sysdeps/generic/allocalim.h: New file.
2002-10-08 Roland McGrath <roland@redhat.com>
* configure.in (aux_missing warning): Change "too old" to
"incompatible versions", since for autoconf it's "too new" right now.
* configure: Regenerated.
* configure.in (AUTOCONF): New check to set it. Set to "no" if the
one found doesn't work on our configure.in.
* configure: Regenerated.
* config.make.in (AUTOCONF): New substituted variable.
* Makefile (autoconf-it-cvs): New canned sequence, broken out of ...
(autoconf-it): ... here, use that instead of defining conditionally.
Use $(AUTOCONF) instead of literal autoconf.
[$(AUTOCONF) != no] (configure, %/configure): Protect these rules
with this condition.
* Make-dist (autoconf-it, configure, %/configure): Copy those changes.
2002-10-08 Ulrich Drepper <drepper@redhat.com>
* Make-dist (dist): Cleanup a bit. We are not interested in the
14 char filename limit anymore. Remove intermediate files and
symlinks.
2002-10-05 Ulrich Drepper <drepper@redhat.com>
* po/sk.po: Update from translation team.
* po/tr.po: Likewise.
* po/gl.po: Likewise.
2002-10-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax.
2002-10-03 Ulrich Drepper <drepper@redhat.com>
* version.h (RELEASE): Change to stable.
2002-10-03 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/_exit.c (__syscall_exit,
__syscall_exit_group): New prototypes.
2002-10-03 Ulrich Drepper <drepper@redhat.com>
* glibc 2.3 released.
See ChangeLog.13 for earlier changes.