Commit Graph

10399 Commits

Author SHA1 Message Date
Roland McGrath
b33e61633a * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1,
allocate space even for the trailing '/'.
	Reported by John Reiser <jreiser@BitWagon.com>.

	* sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6,
	ASM_CLOBBERS_6): Define.
	(ASM_CLOBBERS_5): Use ASM_CLOBBERS_6.
	* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments
	to match IA-32 order.
	* sysdeps/unix/sysv/linux/i386/clone.S: Fix comment.
2003-03-11 09:30:37 +00:00
Roland McGrath
5d5d5969b1 2003-03-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/createthread.c (ARCH_CLONE): Define if not defined.
	(create_thread): Only assert PD->tcb != NULL under [TLS_TCB_AT_TP].
	Use ARCH_CLONE.
	* allocatestack.c (ALLOCATE_STACK_PARMS): New macro.
	[NEED_SEPARATE_REGISTER_STACK] (STACK_VARIABLES,
	STACK_VARIABLES_ARGS, STACK_VARIABLES_PARMS, ALLOCATE_STACK_PARMS,
	ALLOCATE_STACK): New macros.
	(TLS_TPADJ): New macro.
	(get_cached_stack, queue_stack, __deallocate_stack): Use TLS_TPADJ.
	(allocate_stack): Handle TLS_DTV_AT_TP and
	NEED_SEPARATE_REGISTER_STACK.  Use TLS_TPADJ.
	* pthread_create.c (__pthread_create_2_1) [! TLS_TCB_AT_TP]:
	Don't set PD->self.
	* init.c [__ia64__] (__NR_set_tid_address): Define.
2003-03-11 09:20:36 +00:00
Ulrich Drepper
d0aacb47f9 pthread_cond_signal implementation for Linux/x86-64. 2003-03-11 08:31:35 +00:00
Ulrich Drepper
db5f2fc93d Update.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: New file.

	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Fix error value in
	unused code.
2003-03-11 06:52:08 +00:00
Ulrich Drepper
6a4263e3d5 Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: New file

	* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
2003-03-11 05:52:12 +00:00
Ulrich Drepper
3de7c2a965 Update.
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelbarrier.sym.
	* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: New file.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S:
	Include lowlevelbarrier.h and don't define offsets locally.
2003-03-11 05:26:32 +00:00
Ulrich Drepper
2a544d82ce Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(__lll_mutex_lock_wait): Reverse order of first two parameters.
	(__lll_mutex_timedlock_wait): Likewise.
	(lll_mutex_lock): Adjust asm for that.
	(lll_mutex_timedlock): Likewise.  Mark cx, cc, r10 as clobbered.
	(lll_lock): Adjust asm for operand order change.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: New file.
2003-03-11 04:07:00 +00:00
Ulrich Drepper
ec06436c5b Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_lock_wait):
	Reverse order of parameters.
	(__lll_timedwait_tid): Remove regparms attribute.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: New file.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: New file.
2003-03-11 01:01:24 +00:00
Ulrich Drepper
3273832c67 Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_timedwait_tid): Remove one unnecessary instruction.
2003-03-11 00:49:38 +00:00
Ulrich Drepper
51f32ab883 Update.
* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Define
	__lll_mutex_timedlock_wait only for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Include
	lowlevelmutex.S.

	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
	lll_unlock_wake_cb, __lll_wait_tid, and __lll_timedwait_tid only
	for NOT_IN_libc.
	* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Include
	lowlevellock.S.
2003-03-10 23:42:41 +00:00
Ulrich Drepper
ebf0cbc5af Fix typo.
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Not needed anymore.
2003-03-10 23:02:10 +00:00
Ulrich Drepper
fad48d9e2d Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Don't define
	LOCK is already defined.  Don't define __lll_mutex_timedlock_wait
	for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevelmutex.S.
2003-03-10 22:27:01 +00:00
Ulrich Drepper
9356d063df Update.
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define
	LOCK is already defined.  Don't define lll_unlock_wake_cb and
	__lll_timedwait_tid for libc.so.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only
	define LOCK here (if UP is not defined).  The actual code is in
	lowlevellock.S.
2003-03-10 22:11:26 +00:00
Ulrich Drepper
146fa1ee68 Update.
* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: Removed.
2003-03-10 21:44:36 +00:00
Ulrich Drepper
106f6f9d9d Update.
* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_post.c: Include lowlevellock.h
	instead of lowlevelsem.h.
	* sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.
2003-03-10 21:42:52 +00:00
Ulrich Drepper
0be8ee21f0 Update.
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: New needed anymore.
2003-03-10 21:32:44 +00:00
Ulrich Drepper
873010c8a4 Not needed at all. 2003-03-10 21:31:55 +00:00
Roland McGrath
19afbd2cfd 2003-03-10 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
	Copy extra params for NPTL to registers used in clone syscall.
2003-03-10 21:04:45 +00:00
Roland McGrath
4fba8a3b3d 2003-03-10 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
	Copy extra params for NPTL to registers used in clone syscall.
2003-03-10 21:04:29 +00:00
Ulrich Drepper
c915e5ad56 Update.
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
	lowlevelrwlock.sym.
	* sysdeps/unix/sysv/linux/lowlevelrwlock.sym: New file.
	* sysdeps/unix/sysv/linux/i386/lowlevelrwlock.h: Removed.
2003-03-10 21:03:03 +00:00
Ulrich Drepper
4c3c2e8a6e Update.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_trylock): Fix
	register loading.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_trylock): Undo
	last changed.  D'oh.
2003-03-10 19:37:46 +00:00
Ulrich Drepper
8969b769c0 (lll_trylock): Undo last changed. D'oh. 2003-03-10 19:36:23 +00:00
Roland McGrath
ce2290cba4 * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Correct system
call names for pread and pwrite.
2003-03-10 19:21:23 +00:00
Roland McGrath
8e6922b50d 2003-03-10 Roland McGrath <roland@redhat.com>
* td_ta_thr_iter.c (iterate_thread_list): Don't use `header.data.'
	prefix for `struct pthread' members.
	* td_thr_validate.c (check_thread_list): Likewise.
	* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Likewise.
2003-03-10 19:20:18 +00:00
Ulrich Drepper
f73acc206a Update.
2003-03-10  Ulrich Drepper  <drepper@redhat.com>

	* td_ta_thr_iter.c: Update for TCB change.
	* td_thr_tls_get_addr.c: Likewise.
	* td_thr_validate.c: Likewise.
2003-03-10 19:00:37 +00:00
Ulrich Drepper
f39f0b9397 Update for TC change. 2003-03-10 18:59:25 +00:00
Roland McGrath
d38c777e8d * dlfcn/Makefile (libdl-routines): Add dladdr1.
* dlfcn/dladdr1.c: New file.
	* dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1.
	[__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants.
	* elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and
	a const ElfNN_Sym ** to fill in.
	* include/dlfcn.h: Update decl.  Include <link.h>.
	* dlfcn/dladdr.c (dladdr): Update caller.
	* malloc/mtrace.c (tr_where): Likewise.
	* sysdeps/generic/elf/backtracesyms.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1.
	* Versions.def (libdl): Define GLIBC_2.3.3 set.
2003-03-10 10:01:35 +00:00
Ulrich Drepper
2b30b2e51f Update.
2003-03-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: New file.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove declaration
	of __libc_locking_needed.
	(lll_trylock): Initialize %eax to zero.

	* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: New file.

	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Update
	pthread_cond_t definition.

	* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
2003-03-10 09:27:49 +00:00
Ulrich Drepper
f49d640711 Lowlevel lock definitions for x86-64/Linux. 2003-03-10 09:26:20 +00:00
Roland McGrath
8dd569934c 2003-03-10 Roland McGrath <roland@redhat.com>
* dlfcn/Makefile (libdl-routines): Add dladdr1.
	* dlfcn/dladdr1.c: New file.
	* dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1.
	[__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants.
	* elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and
	a const ElfNN_Sym ** to fill in.
	* include/dlfcn.h: Update decl.  Include <link.h>.
	* dlfcn/dladdr.c (dladdr): Update caller.
	* malloc/mtrace.c (tr_where): Likewise.
	* sysdeps/generic/elf/backtracesyms.c: Likewise.
	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
	* dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1.
	* Versions.def (libdl): Define GLIBC_2.3.3 set.
2003-03-10 09:12:11 +00:00
Roland McGrath
e48f96382f * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for
assembler command.
	* sysdeps/unix/Makefile (compile-syscall): New variable.
	Pass -g0 to compiler for assembling syscall stubs from stdin.

	* sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO]
	(STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END):
	Define these to do nothing.

	* configure.in: New check for -g on .S files.
	* configure: Regenerated.
	* config.make.in (have-cpp-asm-debuginfo): New variable.
	* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
	* Makeconfig (ASFLAGS): New variable, if undefined and
	$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
	* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
2003-03-10 09:11:13 +00:00
Roland McGrath
073e82bfae 2003-03-10 Roland McGrath <roland@redhat.com>
* configure.in: New check for -g on .S files.
	* configure: Regenerated.
	* config.make.in (have-cpp-asm-debuginfo): New variable.
	* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
	* Makeconfig (ASFLAGS): New variable, if undefined and
	$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
	* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
2003-03-10 09:10:43 +00:00
Ulrich Drepper
9921a88000 (lll_trylock): Initialize %eax to zero. 2003-03-10 09:10:30 +00:00
Ulrich Drepper
acdcbad953 Remove declaration of __libc_locking_needed. 2003-03-10 09:00:47 +00:00
Roland McGrath
fcc60e3b83 * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Take 3 new args
used by NPTL on new kernels.  From Paul Mackerras <paulus@samba.org>.

	* rt/tst-aio7.c (do_test): Give BUFF permanent extent, too.
2003-03-10 08:52:41 +00:00
Roland McGrath
ce5e9b1279 2003-03-09 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Take 3 new args
	used by NPTL on new kernels.  From Paul Mackerras <paulus@samba.org>.
2003-03-10 08:52:31 +00:00
Ulrich Drepper
4cf82237a1 (lll_trylock): Initialize %eax to zero. 2003-03-10 08:51:08 +00:00
Roland McGrath
d4f64e1ad7 2003-03-10 Roland McGrath <roland@redhat.com>
* allocatestack.c (allocate_stack) [!TLS_MULTIPLE_THREADS_IN_TCB]:
	Instead of setting PD->multiple_threads, set globals
	__pthread_multiple_threads and __libc_multiple_threads.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* sysdeps/i386/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it.
	* sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Likewise.
	* descr.h (struct pthread): Conditionalize first member on
	[!TLS_DTV_AT_TP].  Replace the `header' member with an anonymous union
	containing an anonymous tcbhead_t.  Move `list' member out.
	[TLS_MULTIPLE_THREADS_IN_TCB]: Define a `multiple_threads' member.
	* allocatestack.c: Remove use of `header.data.' prefix.
	* pthread_create.c: Likewise.
	* init.c (__pthread_initialize_minimal_internal): Likewise.
	* sysdeps/pthread/createthread.c (create_thread): Likewise.
	* sysdeps/i386/tls.h (INSTALL_DTV): Add parens.
	(THREAD_SELF, THREAD_DTV, INSTALL_NEW_DTV): No `header.data.' prefix.
	* sysdeps/x86_64/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
	(SINGLE_THREAD_P): Likewise.
	* sysdeps/i386/tls.h (tcbhead_t): Remove `list' member.
	* sysdeps/s390/tls.h (tcbhead_t): Likewise.
2003-03-10 08:50:36 +00:00
Roland McGrath
f9cd7dfd6b 2003-03-10 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/lowlevelcond.sym: New file.
	* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add it.
	* sysdeps/unix/sysv/linux/sh/lowlevelcond.h: File removed.
	* sysdeps/unix/sysv/linux/i386/lowlevelcond.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: Likewise.
2003-03-10 08:50:26 +00:00
Ulrich Drepper
48f3314a00 Definitions for condvar implementation on Linux/x86-64. 2003-03-10 08:06:20 +00:00
Ulrich Drepper
7b44a5e0a7 Update.
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: New file.
2003-03-10 08:00:02 +00:00
Ulrich Drepper
c2e5e08573 Update.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Fix many
	leftovers from the ia32 code.

	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Remove unneccessary
	memory load.
	(clear_once_control): Don't load %esi.

	* sysdeps/x86_64/tls.h: Remove all traces of segment descriptor
	handling.

	* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
2003-03-10 07:39:55 +00:00
Ulrich Drepper
cd4b2a553a Update.
* sysdeps/unix/sysv/linux/s390/createthread.c: Moved to...
	* sysdeps/unix/sysv/linux/createthread.c: ...here.
2003-03-10 06:32:42 +00:00
Ulrich Drepper
c37cae9e8a Update.
* po/da.po: Likewise.
2003-03-09 23:59:21 +00:00
Ulrich Drepper
8049ef7857 Update.
* po/ca.po: Likewise.
2003-03-09 22:52:20 +00:00
Ulrich Drepper
e51838c8b5 Update.
2003-03-09  Ulrich Drepper  <drepper@redhat.com>

	* po/fi.po: Update from translation team.
2003-03-09 17:48:04 +00:00
Ulrich Drepper
05ae97d81d Update.
2003-03-08  Ulrich Drepper  <drepper@redhat.com>

	* rt/tst-aio7.c (do_test): Change BYTES into a #define.
2003-03-08 18:56:15 +00:00
Ulrich Drepper
ccf1d5737a Update.
* tst-tls2.c (do_test): Add TEMP_FAILURE_RETRY around sem_wait call.
	* tst-signal3.c (do_test): Likewise.
	* tst-sem5.c (do_test): Likewise.
	* tst-kill6.c (do_test): Likewise.
	* tst-tls3.c (do_test): Likewise.  Include <errno.h>.

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Use add/sub instead
	of inc/dec.
	* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
2003-03-08 10:30:42 +00:00
Ulrich Drepper
d130a34156 Update.
2003-03-08  Ulrich Drepper  <drepper@redhat.com>

	* allocatestack.c (allocate_stack): If mprotect() fails free the
	TLS memory.
2003-03-08 09:41:16 +00:00
Ulrich Drepper
35457070d2 Update.
* rt/tst-aio7.c (do_test): Give buff permanent extend, too.
2003-03-07 22:23:23 +00:00