Commit Graph

93 Commits

Author SHA1 Message Date
Ulrich Drepper
468777e1d0 Update.
* pthread.c (__pthread_initialize_manager): Subtract
	TLS_PRE_TCB_SIZE bytes from tcbp to get to descr.
	* manager.c (pthread_handle_create): Subtract or add TLS_PRE_TCB_SIZE
	instead of sizeof (pthread_descr).
	(pthread_free): Add TLS_PRE_TCB_SIZE instead of sizeof (pthread_descr).
	* sysdeps/powerpc/tls.h (TLS_INIT_TCB_SIZE, TLS_TCB_SIZE): Define to 0.
2003-04-25 22:28:13 +00:00
Ulrich Drepper
299601a1ef Update.
2003-04-22  Jakub Jelinek  <jakub@redhat.com>

	* include/link.h (NO_TLS_OFFSET): Define to 0 if not defined.
	* elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET.
	* elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to
	NO_TLS_OFFSET.
	* elf/rtld.c (_dl_start_final, _dl_start): Likewise.
	* elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise.
	* sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract
	TLS_TCB_SIZE.
2003-04-25 09:12:43 +00:00
Roland McGrath
bb0ddc2f1e * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_fixup_plt):
Don't use weak_extern for dl_rtld_map.  Instead check only if [SHARED].
	(elf_machine_rela): Clean up.

	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Clean up.

	PowerPC TLS support contributed by Paul Mackerras <paulus@samba.org>.
	* sysdeps/powerpc/powerpc32/elf/configure.in: New file.
	* sysdeps/powerpc/powerpc32/elf/configure: New generated file.
	* elf/tls-macros.h [__powerpc__ && !__powerpc64__]
	(TLS_LE, TLS_IE, TLS_LD, TLS_GD): Define them.
	* sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Support
	new relocs for TLS.

	* sysdeps/powerpc/dl-tls.h (TLS_TP_OFFSET, TLS_DTV_OFFSET): Move these
	macros out of [SHARED].
	(TLS_TPREL_VALUE, TLS_DTPREL_VALUE): New macros.

	* elf/elf.h: Define R_PPC_* relocs for TLS support.
	Clean up R_PPC64_* macro definition comments.
2003-03-02 11:45:12 +00:00
Ulrich Drepper
aff4519d38 Update.
2003-01-11  Jim Meyering  <jim@meyering.net>

	* io/ftw.c [HAVE_CONFIG_H]: Include <config.h>.
	[HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>.
	Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC.
	[!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define.
	[!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define.
	[!_LIBC] (internal_function, dirent64, MAX): Define.
	(__set_errno): Define if not already defined.
	(open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on
	the basename, not the entire file name.
	(process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on
	the basename, not the entire file name.

2003-01-12  Ulrich Drepper  <drepper@redhat.com>

	* string/tester.c (test_strcpy): Disable last added strcpy until
	it is fixed.

2003-01-11  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support.

2003-01-11  Andreas Schwab  <schwab@suse.de>

	* Makerules: Add vpath for %.dynsym and %.so so that the
	implicit rule chaining for check-abi works.

2003-01-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
	Add non-PIC case.

2003-01-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define.
	[__ia64__] (TLS_LE, TLS_IE): Fix typos.  Add ;; at start of asm if
	gp is used early.
	[__ia64__] (TLS_LD, TLS_GD): Likewise.  Use __TLS_CALL_CLOBBERS.
	* elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so):
	Ensure libc.so in DT_NEEDED.
	* sysdeps/alpha/dl-machine.h (elf_machine_rela): Move
	CHECK_STATIC_TLS before l_tls_offset use.
	* sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela):
	Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
	* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]:
	Allocate TLS_PRE_TCB_SIZE bytes below result.
	(_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing.
	* sysdeps/generic/libc-tls.c (__libc_setup_tls): If
	TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS
	segment has been found.  If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE
	bytes below result and add tcb_offset to memsz.
	* sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype.
	* sysdeps/ia64/dl-machine.h: Include tls.h.
	(elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs
	too.
	(elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too.
	Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations.
	* sysdeps/ia64/libc-tls.c: New file.

2003-01-10  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit.
	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX):
	Fix type.  Move definition out of #if.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation
	support.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove
	ftruncate64, pread64, pwrite64, truncate64 entries.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
	(INLINE_SYSCALL): New version that supports function call like
	syscalls.  Add __builtin_expect.
	(LOADARGS_n): Add argument size safety checks.
	(INTERNAL_SYSCALL): New Macro.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid
	redefinition of elf_fpreg_t and elf_fpregset_t.

2003-01-12  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-close.c (_dl_close): Add several asserts.  Correct and
	simplify test for unloading.  If loader of a DSO is unloaded do not
	use its scope anymore.  Fall back to own scope and adjust opencounts.
	Fix several comments.
	* elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for
	the l_searchlist, not only for l_initfini.

	* elf/dl-lookup.c (add_dependencies): Avoid creating relocation
	dependencies if objects cannot be removed.  Remove object with the
	definition as not unloadable if necessary.

	* elf/reldep6.c: Create relocation dependency before closing the first
	module.

2003-01-10  Guido Günther  <agx@sigxcpu.org>
	* elf/Makefile: Add rules to build and run reldep9 test.
	* elf/reldep9.c: New file.
	* elf/reldep9mod1.c: New file.
	* elf/reldep9mod2.c: New file.
	* elf/reldep9mod3.c: New file.

2003-01-09  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile: Add rules to build and run nodelete2 test.
	* elf/nodelete2.c: New file.
	* elf/nodel2mod1.c: New file.
	* elf/nodel2mod2.c: New file.
	* elf/nodel2mod3.c: New file.

2003-01-09  Jakub Jelinek  <jakub@redhat.com>
2003-01-12 10:11:16 +00:00
Ulrich Drepper
82f81a9086 Update.
* sysdeps/unix/sysv/linux/alpha/syscalls.list (msgrcv, msgsnd):
	Make cancelable.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (msgrcv, msgsnd):
	Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (msgrcv, msgsnd):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (msgrcv, msgsnd):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (msgrcv, msgsnd):
	Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): Likewise.
2002-12-18 01:38:17 +00:00
Roland McGrath
bd6daf3b19 * locale/programs/locarchive.c (add_alias): Change locrec_offset arg
into pointer to locrec_offset.
	(add_locale_to_archive): Adjust callers.  Free normalized_name right
	before returning, not immediately after add_locale, pass it to
	add_alias if not NULL instead of name.  Rename second normalized_name
	occurence to nnormalized_codeset_name.

2002-10-21  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/ia64/syscalls.list (s_execve): Set
	caller to EXTRA instead of execve, since the latter has a
	higher-priority implementation in linuxthreads.
2002-10-22 16:11:43 +00:00
Ulrich Drepper
6166815d69 Update.
2002-10-09  Ulrich Drepper  <drepper@redhat.com>

	* 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-09 09:42:48 +00:00
Ulrich Drepper
f0377954d7 Update.
2002-08-08  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/bits/local_lim.h (PTHREAD_THREADS_MAX):
	Bump to 16384.
	* manager.c (__pthread_handles): Remove.
	* pthandles.c: New file.
	* pthread.c (__pthread_initialize_minimal): Initialize
	__pthread_handles[0] and __pthread_handles[1].
	* Makefile (libpthread-routines): Add pthandles (must be last).
2002-08-28 06:47:35 +00:00
Ulrich Drepper
58d2d09bde Update.
* sysdeps/generic/dl-tls.c (allocate_dtv): Optimize a bit.
2002-08-20 08:12:32 +00:00
Roland McGrath
e6f526809d * elf/tst-tlsmod4.c (in_dso): Insert a random library call before use
of the TLS macros, otherwise the compiler might not have initialized
	the PIC register yet when we use the PLT via asm.
	* elf/tst-tlsmod3.c (in_dso2): Likewise.
	* elf/tst-tlsmod2.c (in_dso): Likewise.
2002-08-12 06:25:47 +00:00
Roland McGrath
5517266d33 2002-08-02 Roland McGrath <roland@redhat.com>
* sysdeps/pthread/bits/libc-tsd.h (enum __libc_tsd_key_t):
	Add _LIBC_TSD_KEY_LOCALE.
	* manager.c (pthread_start_thread) [!(USE_TLS && HAVE___THREAD)]:
	Call __uselocale to initialize our per-thread locale pointer to
	the global one.
	* pthread.c (__pthread_initialize_minimal): Likewise.
2002-08-04 03:25:12 +00:00
Roland McGrath
c2afe83352 * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.
[USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file,
	which does the right thing when __thread support is available.
	* descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]:
	Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop',
	`p_h_errno', `p_resp', and `p_res' members.
	* pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]:
	Don't initialize `p_errnop' and `p_h_errnop' members.
	(__pthread_reset_main_thread): Likewise.
	(__pthread_initialize_manager): Likewise.
	* manager.c (__pthread_manager, pthread_handle_create): Likewise.
	* pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]:
	Don't initialize `p_resp' member.
	(__pthread_reset_main_thread): Likewise.
	* manager.c (pthread_handle_create): Likewise.
	* specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
	Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
	* errno.c [USE_TLS && HAVE___THREAD]
	(__h_errno_location, __res_state): Don't define these at all.

	* sysdeps/i386/tls.h (INSTALL_DTV): Add parens around arguments!
	(INSTALL_NEW_DTV, GET_DTV): Likewise.
	* sysdeps/sh/tls.h (INSTALL_DTV, INSTALL_NEW_DTV, GET_DTV): Likewise.

	* weaks.c: Don't include <errno.h> here.

2002-08-01  Roland McGrath  <roland@redhat.com>

	* sysdeps/i386/tls.h (TLS_DO_MODIFY_LDT): New macro, broken out of
	TLS_INIT_TP.
	(TLS_DO_SET_THREAD_AREA): New macro, uses thread_set_area syscall.
	(TLS_SETUP_GS_SEGMENT): New macro, try one or the other or both.
	(TLS_INIT_TP): Use that.
2002-08-02 03:32:24 +00:00
Ulrich Drepper
a4eaf7fb25 (pthread_handle_create): Initialize self-reference in descriptor. 2002-07-15 02:02:58 +00:00
Ulrich Drepper
3632a26020 Update.
2002-04-08  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/elf.h: Define R_SH_TLS_xxx macros.
	* elf/rtld.c: Remove an extra parenthesis.
	* elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and
	TLS_GD macros.
	* sysdeps/generic/dl-tls.c: Add a missing semi-colon.
	* sysdeps/sh/dl-lookupcfg.h: New file.
	* sysdeps/sh/dl-tls.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class): Set
	ELF_RTYPE_CLASS_PLT also for the three TLS relocations.
	(elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and
	R_SH_TLS_TPOFF32 relocations.
2002-04-08 21:05:48 +00:00
Ulrich Drepper
b6a0a99693 Update.
* attr.c (pthread_getattr_np): Don't take thread descriptor size
	into account if USE_TLS.
	* manager.c (pthread_handle_create): Free TLS data structures if call
	failed.  Pass correct stack to clone if USE_TLS.
	* sysdeps/i386/pt-machine.h: Handle multiple inclusion.
	* sysdeps/i386/i686/pt-machine.h: Likewise.
	* sysdeps/i386/tls.h: Unconditionally include <pt-machine.h>.
2002-02-24 04:57:56 +00:00
Ulrich Drepper
557fab43bd Update.
2002-02-23  Ulrich Drepper  <drepper@redhat.com>

	* csu/set-init.c: Moved to...
	* sysdeps/mach/hurd/set-init.c: ...here.  New file.
	* csu/Makefile: Don't compile set-init.
	* sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu.
	* sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition
	to __libc_init.
	* sysdeps/mach/hurd/mips/init-first.c: Likewise.
	* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
	* sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of
	__libc_init.
	* misc/init-misc.c: Always export __init_misc.  Don't define hooks for
	__libc_subinit.
2002-02-23 08:47:54 +00:00
Ulrich Drepper
c3317d1e8b Update.
2001-11-30  Andreas Schwab  <schwab@suse.de>

	* pthread.c (pthread_handle_sigcancel) [THREAD_SELF]: Double check
	that self is the manager thread, and initialize the thread
	register if not.
	(thread_self_stack) [THREAD_SELF]: New function to find self via
	stack pointer.
	* manager.c (pthread_handle_create): Don't block cancel signal any
	more.

	(THREAD_GETMEM_NC):
2001-11-30 21:14:09 +00:00
Ulrich Drepper
03a2c6475b Update.
* iconvdata/ibm1163.c: New file.
	* iconvdata/ibm1163.h: New file.
	* iconvdata/ibm1164.c: New file.
	* iconvdata/ibm1164.h: New file.
	* iconvdata/TESTS: Add entries for IBM1163 and IBM1164.
	* iconvdata/Makefile: Likewise.
	* iconvdata/testdata/IBM1163: New file.
	* iconvdata/testdata/IBM1163..UTF8: New file.
	* iconvdata/testdata/IBM1164: New file.
	* iconvdata/testdata/IBM1164..UTF8: New file.
	Patch by Masahide Washizawa <WASHI@jp.ibm.com>.

	* iconvdata/ibm1046.h: Optimize.  Remove duplicate mappings.
	* iconvdata/ibm1124.h: Likewise.
	* iconvdata/ibm1132.h: Likewise.
	* iconvdata/ibm1133.h: Likewise.
	* iconvdata/ibm1160.h: Likewise.
	* iconvdata/ibm1161.h: Likewise.
	* iconvdata/ibm1162.h: Likewise.
	* iconvdata/ibm856.h: Likewise.
	* iconvdata/ibm922.h: Likewise.
	* iconvdata/ibm930.h: Likewise.
	* iconvdata/ibm932.h: Likewise.
	* iconvdata/ibm933.h: Likewise.
	* iconvdata/ibm935.h: Likewise.
	* iconvdata/ibm937.h: Likewise.
	* iconvdata/ibm939.h: Likewise.
	* iconvdata/ibm943.h: Likewise.
	* iconvdata/ibm930.c: Pretty printing.
	* iconvdata/ibm937.c: Avoid access accross array boundary.
2001-11-29 07:43:03 +00:00
Ulrich Drepper
cf6a2367e8 Update.
2001-11-22  Wolfram Gloger  <wg@malloc.de>

	* pthread.c (pthread_onexit_process): Don't call free
	after threads have been asynchronously terminated.

	* manager.c (pthread_handle_exit): Surround cancellation
	of threads with __flockfilelist()/__funlockfilelist().
2001-11-28 22:27:20 +00:00
Andreas Schwab
a86e3e5891 (pthread_handle_create): Start the child thread with the cancel signal blocked, so that it does not handle it before the thread register is set up. Save errno from failed clone call. 2001-11-26 12:59:16 +00:00
Ulrich Drepper
57642a7892 Update.
2001-09-11  Ulrich Drepper  <drepper@redhat.com>

	* nscd/nscd_gethst_r.c: Don't expect IPv6 addresses for IPv4 lookup.
	Patch by Stephan Kulow.
2001-09-12 03:53:07 +00:00
Ulrich Drepper
8d42e2e526 Update.
2001-07-19  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/useldt.h: Fix typo in ARCH_STACK_MAX_SIZE comment.

	* sysdeps/ia64/pt-machine.h (FLOATING_STACKS): Define.
	(ARCH_STACK_MAX_SIZE): Define.
	* manager.c (pthread_allocate_stack): Handle FLOATING_STACKS with
	NEED_SEPARATE_REGISTER_STACK.
2001-07-22 23:41:12 +00:00
Ulrich Drepper
2879ae4ab0 Update.
2001-06-16  H.J. Lu  <hjl@gnu.org>

	* internals.h: Include <stackinfo.h>.

	* attr.c: Don't include <stackinfo.h> here.
	* cancel.c: Likewise.
	* manager.c: Likewise.
	* pthread.c: Likewise.
	* ptlongjmp.c: Likewise.
2001-06-17 02:19:25 +00:00
Ulrich Drepper
cc765c2a2e Make _STACK_GROWS_UP work. 2001-06-16 18:47:49 +00:00
Ulrich Drepper
3b5c1b57d3 Update.
* sysdeps/unix/i386/i586/clock_getres.c: Removed.
	* sysdeps/unix/i386/i586/clock_gettime.c: Removed.
	* sysdeps/unix/i386/i586/clock_nanosleep.c: Removed.
	* sysdeps/unix/i386/i586/clock_settime.c: Removed.
	* sysdeps/unix/i386/i586/cpuclock-init.h: Removed.
	* sysdeps/generic/cpuclock-init.h: Removed.
	* sysdeps/unix/i386/i686/Implies: Removed.
	* sysdeps/unix/i386/i686/tempname.c: Removed.
	* sysdeps/i386/i686/Versions: New file.
	* sysdeps/unix/i386/i586/Versions: Removed.

	* sysdeps/posix/clock_getres.c: If HP_TIMING_AVAIL is nonzero handle
	CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID.
	* sysdeps/unix/clock_gettime.c: Likewise.
	* sysdeps/unix/clock_nanosleep.c: Likewise.
	* sysdeps/unix/clock_settime.c: Likewise.
	* sysdeps/posix/tempname.c: Is HP_TIMING_AVAIL is nonzero define
	RANDOM_BITS use CPU clock.

	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/bits/time.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9b/bits/time.h: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/time.h: New file.
	* sysdeps/sparc/Versions: New file.

	* elf/dl-support.c: Don't use cpuclock-init.h definitions, use
	hp-timing.h definitions.
	* sysdeps/generic/dl-sysdep.c: Likewise.

	* include/libc-internal.h: Include hp-timing.h.  Use hp_timing_t in
	__get_clockfreq prototype.

	* sysdeps/unix/sysv/linux/i386/get_clockfreq.c (__get_clockfreq):
	Use hp_timing_t type.

	* sysdeps/unix/sysv/linux/ia64/get_clockfreq.c: New file.
2001-04-23 19:01:10 +00:00
Andreas Jaeger
159a2e1a65 Update.
* manager.c (__pthread_manager): Add noreturn
	attribute.
	(pthread_start_thread): Likewise, remove return statement.
	(pthread_start_thread_event): Likewise.
	Add noreturn attribute for pthread_handle_exit.
	* weaks.c: Add noreturn attribute for pthread_exit.
2001-04-21 18:41:05 +00:00
Ulrich Drepper
5fc48cd78f Update.
2001-04-21  Ulrich Drepper  <drepper@redhat.com>

	* elf/dl-support.c: Include cpuclock-init.h.  Use CPUCLOCK_VARDEF and
	CPUCLOCK_INIT if defined.
	* sysdeps/generic/dl-sysdep.c: Likewise.
	* sysdeps/generic/cpuclock-init.h: New file.
	* sysdeps/unix/i386/i586/cpuclock-init.h: New file.
	* sysdeps/unix/i386/i586/Versions: New file.
	* sysdeps/unix/i386/i586/clock_settime.c: New file.
	* sysdeps/unix/i386/i586/clock_gettime.c: Handle thread CPU clock
	separately by calling __pthread_clock_gettime if this function is
	available.  Subtract offset from tsc value before computing time value.
2001-04-21 07:55:01 +00:00
Ulrich Drepper
58f46c794a Update.
2001-04-10  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S: Fix return
	value of getcontext.
	* sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S: Fix return
	value of setcontext.
	* sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/swapcontext.c: Skip setcontext
	call by changing the saved context.
2001-04-10 21:46:48 +00:00
Ulrich Drepper
3bf927cbce Update.
2001-03-15  Ulrich Drepper  <drepper@redhat.com>

	* Versions [libpthread] (GLIBC_2.2.3): Add pthread_getattr_np.
	* attr.c: Implement pthread_getattr_np.
	* sysdeps/pthread/pthread.h: Add prototype for pthread_getattr_np.
	* internals.h (struct _pthread_descr_struct): Add p_inheritsched.
	* manager.c (pthread_handle_create): Initialize p_inheritsched.

	* sysdeps/unix/sysv/linux/s390/pt-initfini.c: Use 0x07 padding for
2001-03-15 21:13:12 +00:00
Ulrich Drepper
08b3d7ad68 Update.
* sysdeps/ieee754/ldbl-96/e_jnl.c: New file.
	Contributed by Stephen L. Moshier <moshier@na-net.ornl.gov>.

	* sysdeps/i386/fpu/libm-test-ulps: Update for jnl and ynl introduction.
	* sysdeps/ia64/fpu/libm-test-ulps: Likewise.
2001-02-26 20:19:49 +00:00
Ulrich Drepper
f9b9f291b7 Update.
* conform/conformtest.pl: Define $mustprepend{"stdio.h"}.
	* libio/stdio.h: Always define __need___va_list.
2001-01-28 09:13:22 +00:00
Ulrich Drepper
af8240ebcb Update.
2000-12-31  Ulrich Drepper  <drepper@redhat.com>
	* manager.c (pthread_alloca_stack): Remove MAP_FIXED from mmap calls.
	(pthread_free): Always unmap the stack.  It's safe now that we don't
	use MAP_FIXED to allocate stacks.
2001-01-01 04:49:02 +00:00
Ulrich Drepper
62298f9d22 (pthread_allocate_stack): Fix a typo. 2001-01-01 04:35:39 +00:00
Ulrich Drepper
41b64fc4c1 Update.
2000-12-31  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/powerpc/pspinlock.c: Don't include pt-machine.h here.

	* manager.c (pthread_allocate_stack): Prepare for removal of MAP_FIXED.
2000-12-31 08:26:04 +00:00
Ulrich Drepper
09f5e1635a Update.
2000-12-28  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (MALLOC_COPY): Handle case if source and
	destination overlap.  Assume dest is always below source if
	overlapping.
2000-12-31 07:39:50 +00:00
Ulrich Drepper
2e4581e4fb Update.
2000-09-03  Ulrich Drepper  <drepper@redhat.com>

	* time/sys/time.h (gettimeofday): Move restrict for tz parameter
	to the typedefs of __timezone_ptr_t.
	Reported by MATSUMURA Hiromitsu <coji2@mb.infoweb.ne.jp>.

2000-09-02  Jakub Jelinek  <jakub@redhat.com>

	* nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Increment counter in
	the loop.

2000-09-01  H.J. Lu  <hjl@gnu.org>

	* Makeconfig (built-program-cmd): Don't use the dynamic linker
	to run a binary if it is in $(tests-static).

	* Rules (binaries-static): Add $(tests-static).
2000-09-03 17:10:35 +00:00
Ulrich Drepper
47cae281a4 Update.
* iconvdata/big5hkscs.c: Rewritten.  Regenerate data from the
	official file.
	* iconvdata/TESTS: Add BIG5HKSCS entry.
	* iconvdata/testdata/BIG5HKSCS: New file.
	* iconvdata/testdata/BIG5HKSCS..UTF8: New file.

	* iconvdata/big5.c (BODY for FROM_LOOP): Remove condition which is
	always true.
2000-08-30 07:38:10 +00:00
Ulrich Drepper
234dd7a6ba Update.
* internals.h: Declare __pthread_max_stacksize.
	* pthread.c (__pthread_max_stacksize): New variable.
	(__pthread_initialize_manager): Determine __pthread_initialize_manager
	value.
	* manager.c (thread_segment): Return always NULL if FLOATING_STACKS.
	(pthread_allocate_stack): Allow kernel to choose stack address if
	FLOATING_STACKS.  This also handles variable-sized stacks.
	Always allocate stack and guardoage together.  Use mprotect to
	change guardpage access.
	* sysdeps/i386/useldt.h: Define FLOATING_STACKS and
	ARCH_STACK_MAX_SIZE.

	* attr.c (__pthread_attr_setstacksize): Also test value against
	upper limit.
2000-08-05 06:15:04 +00:00
Ulrich Drepper
0a8d92310f Update.
2000-08-04  Ulrich Drepper  <drepper@redhat.com>

	* manager.c (__pthread_nonstandard_stacks): Define only if
	THREAD_SELF is not defined.
	(pthread_allocate_stack): Always initialize gardaddr to a correct
	value.
	(pthread_handle_create): Unmap thread with one call.
	(pthread_free): Remove test for initial thread before removing stack.
	Unmap stack with one call.

	* pthread.c (__pthread_initial_thread): Initialize p_userstack to
	1 to avoid removing the stack.
2000-08-05 03:10:51 +00:00
Ulrich Drepper
e685e07dfa Update.
2000-07-18  Mark Kettenis  <kettenis@gnu.org>

	Update resolver code to BIND 8.2.3-T5B.

	* resolv/Versions [GLIBC_2.2] (libc): Add __res_init and
	__res_nclose.
	[GLIBC_2.2] (libresolv): Add __dn_expand, __ns_samename,
	__res_mkquery, __res_nsend, __res_query, __res_querydomain and
	__res_search.
	* resolv/Banner: BIND-8.2.3-T5B.

	* resolv/base64.c: Update from BIND 8.2.3-T5B.
	* resolv/herror.c: Likewise.
	* resolv/inet_addr.c: Likewise.
	* resolv/inet_net_ntop.c: Likewise.
	* resolv/inet_net_pton.c: Likewise.
	* resolv/inet_neta.c: Likewise.
	* resolv/inet_ntop.c: Likewise.
	* resolv/nsap_addr.c: Likewise.
	* resolv/inet_pton.c: Likewise.  Reject a few more more invalid
	IPv6 addresses (ISC bug #520).

	* resolv/ns_name.c: Avoid emitting RCS ID in object file.
	* resolv/ns_parse.c: Likewise.
	* resolv/ns_netint.c: Likewise.
	* resolv/ns_samedomain.c: Likewise.
	* resolv/ns_ttl.c: Likewise.
	* resolv/ns_print.c: Update from BIND 8.2.3-T5B.  Avoid emitting
	RCS ID in object file.

	* resolv/res_debug.c: Update from BIND 8.2.3-T5B.
	* resolv/res_mkquery.c: Likewise.
	* resolv/res_query.c: Likewise.
	* resolv/res_init.c: Likewise.
	(res_setoptions): Mark internal.
	* resolv/res_send.c: Likewise.
	[_LIBC]: Fully reinstate the code that avoids the FD_SETSIZE limit
	by using poll instead.
	* resolv/res_comp.c: Likewise.
	[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make dn_expand a
	weak alias for __dn_expand.
	* resolv/res_data.c: Likewise.
	(res_close) [_LIBC]: Don't call res_nclose if RES_INIT isn't set
	in _res.options.  Avoids a potential security risk by avoiding a
	close (0).
	[SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_2)]: Make
	res_mkquery, res_query, res_querydomain adn res_search weak
	aliases for __res_mkquery, __res_query, __res_querydomain and
	__res_search.
	* resolv/res_libc.c: (_res): Don't initialize.  Fix res_close
	instead to avoid close(0).
	(res_init): Always use the static resolver context.
	[SHLIB_COMPAT (libc, GLIBC_2.0, GLIBC_2_2)]: Make res_init a weak
	alias for __res_init.

	* resolv/resolv.h: Update from BIND 8.2.3-T5B.  Move definition of
	RES_SET_H_ERRNO and accompanying comment to...
	* include/resolv.h: ... here.

	* resolv/arpa/namser.h: Update from BIND 8.2.3-T5B.
	* resolv/arpa/nameser_compat.h: Likewise.
2000-07-19 22:03:58 +00:00
Ulrich Drepper
9aae19cd9a Update.
2000-05-05  H.J. Lu  <hjl@gnu.org>

	* sysdeps/ia64/pt-machine.h (__compare_and_swap): Change it to
	have acquire semantics.
	(__compare_and_swap_with_release_semantics): New inline
	function.
	(HAS_COMPARE_AND_SWAP_WITH_RELEASE_SEMANTICS): New macro.

2000-01-28  Hans Boehm  <hboehm@exch.hpl.hp.com>

	* manager.c: Fix the problem with signals at startup.
	Change the way that thread stacks are allocated on IA64.
	Clean up some of the guard page allocation stuff.

1999-12-19  H.J. Lu  <hjl@gnu.org>

	* internals.h (page_roundup): New.
	* attr.c (__pthread_attr_setguardsize); Use page_roundup
	instead of roundup.
	* manager.c (pthread_allocate_stack): Make sure guardaddr is
	page aligned with page_roundup if NEED_SEPARATE_REGISTER_STACK
	is define.

1999-12-17  Hans Boehm  <hboehm@exch.hpl.hp.com>

	* manager.c (pthread_allocate_stack): Unmap the stack top
	if failed to map the stack bottom.
	Fix the guard page.
	(pthread_free): Fix the guard page.

	* pthread.c (pthread_initialize): Set rlimit correctly for
	NEED_SEPARATE_REGISTER_STACK.

1999-12-16  H.J. Lu  <hjl@gnu.org>

	* pthread.c (__pthread_initialize_manager): Pass
	__pthread_manager_thread_bos instead of
	__pthread_manager_thread_tos to __clone2.

1999-12-16  H.J. Lu  <hjl@gnu.org>

	* manager.c (pthread_allocate_stack): Correct the calculation
	of "new_thread_bottom". Remove MAP_GROWSDOWN from mmap for
	stack bottom.

1999-12-13  H.J. Lu  <hjl@gnu.org>

	* sysdeps/ia64/pt-machine.h (__compare_and_swap): Added a stop
	bit after setting ar.ccv.

1999-12-12  H.J. Lu  <hjl@gnu.org>

	* manager.c (pthread_allocate_stack): Make the starting
	address of the stack bottom page aligned. FIXME: it may
	need changes in other places.
	(pthread_handle_create): Likewise.

1999-12-11  Hans Boehm  <hboehm@exch.hpl.hp.com>

	* manager.c (pthread_allocate_stack): Handle
	NEED_SEPARATE_REGISTER_STACK.
	(pthread_handle_create): Likewise.
	* pthread.c (__pthread_initialize_manager): Likewise.

	* sysdeps/ia64/pt-machine.h: Use r13 for thread pointer.

1999-12-02  H.J. Lu  <hjl@gnu.org>

	* sysdeps/ia64/pt-machine.h: New.
2000-07-15 19:02:47 +00:00
Ulrich Drepper
41b37cb517 Update.
* manager.c (pthread_handle_free): Likewise.
2000-06-10 07:58:50 +00:00
Ulrich Drepper
0f5504179a Update.
2000-05-23  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/fpu/bits/mathinline.h (__sincos, __sincosf,
	__sincosl): Guard with __USE_GNU.
2000-05-25 06:15:25 +00:00
Andreas Jaeger
5d1fba6d95 Update.
2000-05-20 2000  H.J. Lu  <hjl@gnu.org>

	* resolv/res_libc.c (_res): Initialize _sock to -1.

2000-05-18  Jakub Jelinek  <jakub@redhat.com>

	* libio/iofopncook.c (_IO_fopencookie): Renamed from fopencookie.
	(fopencookie@@GLIBC_2.2): New.
	(_IO_old_cookie_seek, _IO_old_fopencookie, _IO_old_cookie_jumps): New.
	(fopencookie@GLIBC_2.0): New.
	* libio/Versions: Add fopencookie to GLIBC_2.2.

	* sunrpc/rpc_main.c (parseargs): Don't accept -M and -N.
	Closes PR libc/1731.
2000-05-21 15:40:55 +00:00
Ulrich Drepper
45eca4d141 Update.
2000-05-06  Bruno Haible  <haible@clisp.cons.org>

	* iconv/gconv_open.c (__gconv_open): If __gconv_find_transform
	returned != __GCONV_OK, there is nothing to clean up.

2000-05-06  Bruno Haible  <haible@clisp.cons.org>

	* intl/tst-gettext.c (main): Disable possibly existing LC_CTYPE and
	OUTPUT_CHARSET environment variables.

2000-05-06  Andreas Jaeger  <aj@suse.de>

	* sysdeps/generic/dl-cache.h (struct file_entry_new): New.
	(struct cache_file_new): New.
	(struct file_entry): New (moved from cache.c).
	(struct cache_file): New (moved from cache.c).

	* sysdeps/generic/dl-cache.c (SEARCH_CACHE): New macro, broken out
	from _dl_load_cache_lookup.
	(_dl_load_cache_lookup): Move search to SEARCH_CACHE macro, handle
	the different cache formats.
	New variable cache_new for new format.

	* elf/ldconfig.h: Change according to changes in cache.c and
	ldconfig.c; remove cache_libcmp; add opt_format.

	* elf/ldconfig.c: Include "dl-cache.h" and "dl-procinfo.h"; remove
	stuff that's defined in those headers.
	Add hwcap to struct lib_entry.
	(opt_format): New variable to select cache format.
	(options): Add format parameter.
	(is_hwcap): New function.
	(path_hwcap): New function.
	(parse_opt): Handle new format parameter.
	(search_dir): Handle hwcap, search also subdirectories with hwcap.

	* elf/cache.c (_GNU_SOURCE): Removed.  Not needed anymore since
	ldconfig is part of glibc.
	Include dl-cache.h and remove stuff that's defined there.
	(struct cache_entry): Add new member hwcap.
	(print_entry): Print hwcap, cleanup a bit.
	(print_cache): Print new and old formats.
	(compare): Use _dl_cache_libcmp from dl-cache.h; handle hwcap.
	(save_cache): Save new and old formats.
	(add_to_cache): Handle hwcap.

	* sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Moved from here...
	* sysdeps/generic/dl-cache.h (_dl_cache_libcmp): ...to here.
	* sysdeps/generic/dl-cache.c (LD_SO_CACHE): Moved from here...
	* sysdeps/generic/dl-cache.h (LD_SO_CACHE): ...to here.
	* sysdeps/generic/dl-cache.c (CACHEMAGIC): Moved from here...
	* sysdeps/generic/dl-cache.h (CACHEMAGIC): ...to here.

2000-05-05  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (alignof): New macro.
	(_nl_find_msg): Use it instead of __alignof__. Pass correct output
	buffer length to __gconv/iconv. If malloc (freemem_size) fails, set
	freemem_size to 0.

2000-05-05  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (dcigettext): Fix interpretation of tsearch
	return value.
2000-05-07 21:23:56 +00:00
Ulrich Drepper
c77ec56d0c Update.
* elf/Makefile (distribute): Add dl-lookupcfg.h.
	* sysdeps/ia64/Dist: New file.
2000-05-05 08:07:07 +00:00
Ulrich Drepper
9bf4d6404e Update.
2000-04-24  Ulrich Drepper  <drepper@redhat.com>

	* manager.c (pthread_free): Use FREE_THREAD not FREE_THREAD_SELF.
	* sysdeps/i386/useldt.h: Use "q" constraint instead of "r" where
	necessary.
	* sysdeps/i386/i686/pt-machine.h: Include "../useldt.h".
2000-04-25 04:28:38 +00:00
Ulrich Drepper
d8d914df68 Update.
* sysdeps/pthread/pthread.h: Add prototypes for pthread_spin_init,
	pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
	and pthread_spin_unlock.
	* sysdeps/pthread/bits/pthreadtypes.h: Change struct _pthread_fastlock
	into pthread_spinlock_t.  Change all uses.
	* spinlock.c: Implement pthread_spin_lock.
	Rename __pthread_unlock to __pthread_spin_unlock and define weak
	alias for real name.
	Define pthread_spin_trylock, pthread_spin_init, and
	pthread_spin_destroy.
	Change all uses of _pthread_fastlock to pthread_spinlock_t.
	* spinlock.h: Rename __pthread_unlock to __pthread_spin_unlock.
	Change all uses of _pthread_fastlock to pthread_spinlock_t.
	* Versions [libpthread] (GLIBC_2.2): Add pthread_spin_init,
	pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
	and pthread_spin_unlock.
	* cancel.c: Use __pthread_spin_unlock instead of __pthread_unlock.
	Change all uses of _pthread_fastlock to pthread_spinlock_t.
	* condvar.c: Likewise.
	* internals.h: Likewise.
	* join.c: Likewise.
	* manager.c: Likewise.
	* mutex.c: Likewise.
	* pthread.c: Likewise.
	* rwlock.c: Likewise.
	* semaphore.c: Likewise.
	* signals.c: Likewise.
2000-04-13 05:57:21 +00:00
Ulrich Drepper
c0bc5f7b8f Update.
2000-03-23  Bruno Haible  <haible@clisp.cons.org>

	* iconv/gconv_simple.c (internal_ucs4_loop, internal_ucs4le_loop):
	Remove no-op pointer increment.
2000-03-23 21:34:58 +00:00
Ulrich Drepper
101edd3f31 Update.
* nscd/connections.c (nscd_run): Pretty print.
	* elf/dl-runtime.c: Include stdlib.h for alloca prototype.
2000-03-22 00:36:57 +00:00