Commit Graph

15226 Commits

Author SHA1 Message Date
Ulrich Drepper
50f1dec5d3 * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
2007-05-27 18:56:02 +00:00
Ulrich Drepper
e59660bc25 * init.c: Make it compile with older kernel headers.
* tst-initializers1.c: Show through exit code which test failed.

	* pthread_rwlock_init.c: Also initialize __shared field.
	* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Split __flags
	element in rwlock structure into four byte elements.  One of them is
	the new __shared element.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h [__WORDSIZE=32]:
	Likewise.
	[__WORDSIZE=64]: Renamed __pad1 element int rwlock structire to
	__shared, adjust names of other padding elements.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/pthread/pthread.h: Adjust rwlock initializers.
	* sysdeps/unix/sysv/linux/lowlevelrwlock.sym: Add PSHARED.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define
	FUTEX_PRIVATE_FLAG.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Change main
	futex to use private operations if possible.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
2007-05-27 18:06:18 +00:00
Ulrich Drepper
546346b6f8 * pthreadP.h (PTHREAD_RWLOCK_PREFER_READER_P): Define.
* pthread_rwlock_rdlock.c: Use PTHREAD_RWLOCK_PREFER_READER_P.
	* pthread_rwlock_timedrdlock.c: Likewise.
	* pthread_rwlock_tryrdlock.c: Likewise.
2007-05-26 22:11:42 +00:00
Ulrich Drepper
a2dd3360db * sysdeps/unix/sysv/linux/x86_64/sem_trywait.S (sem_trywait): Tiny
optimization.
2007-05-26 21:47:28 +00:00
Ulrich Drepper
6df7ffad19 * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>. 2007-05-26 20:13:27 +00:00
Ulrich Drepper
d8ff3792a8 * sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_barrier):
Add private field.
	* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: Add PRIVATE definition.
	* pthread_barrier_init.c: Set private flag if pshared and private
	futexes are supported.
	* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S: Use
	private field in futex command setup.
	* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: Likewise.
2007-05-26 16:19:15 +00:00
Ulrich Drepper
42e6c66593 * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Add private futex
support.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
2007-05-26 04:49:06 +00:00
Ulrich Drepper
3d2dd6ca71 * semaphoreP.h: Declare __old_sem_init and __old_sem_wait.
* sem_init.c (__new_sem_init): Rewrite to initialize all three
	fields in the structure.
	(__old_sem_init): New function.
	* sem_open.c: Initialize all fields of the structure.
	* sem_getvalue.c: Adjust for renamed element.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nptl]
	(gen-as-const-headers): Add structsem.sym.
	* sysdeps/unix/sysv/linux/structsem.sym: New file.
	* sysdeps/unix/sysv/linux/internaltypes.h: Rename struct sem to
	struct new_sem.  Add struct old_sem.
	* sysdeps/unix/sysv/linux/sem_post.c: Wake only when there are waiters.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/sem_wait.c: Indicate that there are waiters.
	* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
	* sysdeps/unix/sysv/linux/sem_timedwait.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
	* Makefile (tests): Add tst-sem10, tst-sem11, tst-sem12.
	* tst-sem10.c: New file.
	* tst-sem11.c: New file.
	* tst-sem12.c: New file.
	* tst-typesizes.c: Test struct new_sem and struct old_sem instead
	of struct sem.

2007-05-25  Ulrich Drepper  <drepper@redhat.com>
2007-05-26 01:31:40 +00:00
Ulrich Drepper
2af4e3e566 Test of semaphores. 2007-05-26 01:23:04 +00:00
Jakub Jelinek
20a4d7228e * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
Move __pthread_enable_asynccancel right before futex syscall. 
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): 
Likewise.
2007-05-25  Ulrich Drepper  <drepper@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
	Move __pthread_enable_asynccancel right before futex syscall.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
	Likewise.

2007-05-24  Jakub Jelinek  <jakub@redhat.com>
2007-05-25 19:27:03 +00:00
Ulrich Drepper
47ad95ab96 * io/bits/fcntl2.h (__open_2): Add nonnull attribute.
(open): Fix comment typos.  Don't call __open_2 if flags
	is a compile time constant without O_CREAT.
	(__open64_2): Add nonnull attribute.
	(open64): Fix comment typos.  Don't call __open64_2 if flags
	is a compile time constant without O_CREAT.
	(__openat_2): Add nonnull attribute, fix nonnull attribute
	on redirect.
	(openat): Fix comment typos.  Don't call __openat_2 if flags
	is a compile time constant without O_CREAT.
	(__openat64_2): Add nonnull attribute, fix nonnull attribute
	on redirect.
	(openat64): Fix comment typos.  Don't call __openat64_2 if flags
	is a compile time constant without O_CREAT.
2007-05-25 14:41:55 +00:00
Ulrich Drepper
86acd59634 * sysdeps/i386/tls.h (THREAD_SET_PRIVATE_FUTEX,
THREAD_COPY_PRIVATE_FUTEX): Define.
	* sysdeps/x86_64/tls.h (THREAD_SET_PRIVATE_FUTEX,
	THREAD_COPY_PRIVATE_FUTEX): Define.
	* allocatestack.c (allocate_stack): Use THREAD_COPY_PRIVATE_FUTEX.
	* init.c (__pthread_initialize_minimal_internal): Use
	THREAD_SET_PRIVATE_FUTEX.
2007-05-25 05:24:16 +00:00
Ulrich Drepper
0a54ab53f2 * sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.
(THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED,
	THREAD_GSCOPE_FLAG_WAIT): Define.
	(THREAD_GSCOPE_GET_FLAG, THREAD_GSCOPE_SET_FLAG,
	THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define.
	* sysdeps/i386/tls.h (THREAD_GSCOPE_WAIT): Don't use
	PTR_DEMANGLE.
	(THREAD_GSCOPE_GET_FLAG): Define.
	* sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Define.
	* allocatestack.c (__wait_lookup_done): Use THREAD_GSCOPE_GET_FLAG
	instead of ->header.gscope_flag directly.
2007-05-25 05:21:07 +00:00
Ulrich Drepper
ddfd053577 * Makerules (sysd-rules): Define PTW for ptw-* files.
* Versions: Define GLIBC_2.7 for libc.
	* include/stdio.h: Declare __fortify_fail.
	* debug/fortify_fail.c: New file.
	* debug/Makefile (routines): Add fortify_fail.
	* debug/chk_fail.c: Use __fortify_fail.
	* debug/stack_chk_fail.c: Likewise.
	* io/Versions: Export __open_2, __open64_2, __openat_2, and
	__openat64_2 for GLIBC_2.7.
	* io/fcntl.h: When compiling with fortification, include bits/fcntl2.h.
	* io/open.c: Define *_2 variant of function which checks for O_CREAT
	and fails if necessary.
	* io/open64.c: Likewise.
	* io/openat.c: Likewise.
	* io/openat64.c: Likewise.
	* sysdeps/unix/sysv/linux/open64.c: Likewise.
	* sysdeps/unix/sysv/linux/openat.c: Likewise.
	* sysdeps/unix/sysv/linux/openat64.c: Likewise.
	* io/bits/fcntl2.h: New file.
	* include/fcntl.h: Declare __open_2, __open64_2, __openat_2, and
	__openat64_2.
	* include/bits/fcntl2.h: New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add open_2.
	* sysdeps/unix/sysv/linux/open_2.c: New file.
2007-05-24 23:55:28 +00:00
Ulrich Drepper
5a8075b116 * init.c (__pthread_initialize_minimal_internal): Check whether
private futexes are available.
	* allocatestack.c (allocate_stack): Copy private_futex field from
	current thread into the new stack.
	* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Use private
	futexes if they are available.
	* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Adjust so that change
	in libc-lowlevellock.S allow using private futexes.
	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define
	FUTEX_PRIVATE_FLAG.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Use private futexes
	if they are available.
	* sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise.
	* sysdeps/x86_64/tcb-offsets.sym: Add PRIVATE_FUTEX.
	* sysdeps/i386/tcb-offsets.sym: Likewise.
	* sysdeps/x86_64/tls.h (tcbhead_t): Add private_futex field.
	* sysdeps/i386/tls.h (tcbhead_t): Likewise.
2007-05-23 20:51:45 +00:00
Ulrich Drepper
6d59823c29 * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct value
as second parameter to handle_intel.
2007-05-21 22:38:06 +00:00
Ulrich Drepper
7adefea85d (pthread_functions): Don't add .ptr_wait_lookup_done here. (__pthread_initialize_minimal_internal): Initialize _dl_wait_lookup_done pointer in _rtld_global directly. 2007-05-21 22:29:51 +00:00
Jakub Jelinek
2c9718f3b3 * tst-robust9.c (do_test): Don't fail if ENABLE_PI and
pthread_mutex_init failed with ENOTSUP.
2007-05-21  Jakub Jelinek  <jakub@redhat.com>

	* tst-robust9.c (do_test): Don't fail if ENABLE_PI and
	pthread_mutex_init failed with ENOTSUP.
2007-05-21 22:12:40 +00:00
Ulrich Drepper
e2b1e34312 * nscd/aicache.c (addhstaiX): If reported TTL is zero don't cache
the entry.
2007-05-21 21:23:18 +00:00
Ulrich Drepper
bfe6f5fa89 * sysdeps/unix/sysv/linux/x86_64/sysconf.c: Move cache information
handling to ...
	* sysdeps/x86_64/cacheinfo.c: ... here.  New file.
	* sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
	cacheinfo.
	* sysdeps/x86_64/memcpy.S: Complete rewrite.
	* sysdeps/x86_64/mempcpy.S: Adjust appropriately.
	Patch by Evandro Menezes <evandro.menezes@amd.com>.

	* sysdeps/unix/sysv/linux/i386/epoll_pwait.S: New file.
2007-05-21 19:21:48 +00:00
Ulrich Drepper
2c2c003a5d [BZ #4525]
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add epoll_pwait.
	* sysdeps/unix/sysv/linux/epoll_pwait.c: New file.
	* sysdeps/unix/sysv/linux/syscalls.list (epoll_pwait): Remove.

	* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (epoll_pwait): Declare.
2007-05-21 18:25:03 +00:00
Ulrich Drepper
af269dd954 [BZ #4514]
* stdio-common/vfprintf.c (vfprintf): Don't shadow workstart variable,
	reinitialize workend at the start of each do_positional format spec
	loop, free workstart before do_positional loops.
	(printf_unknown): Fix size of work_buffer.
	* stdio-common/tst-sprintf.c (main): Add 3 new testcases.
2007-05-21 18:23:50 +00:00
Ulrich Drepper
1f4843fbff * malloc/hooks.c (MALLOC_STATE_VERSION): Bump.
(public_sET_STATe): If ms->version < 3, put all chunks into
	unsorted chunks and clear {fd,bk}_nextsize fields of largebin
	chunks.

	* malloc/malloc.c [MALLOC_DEBUG]: Revert 2007-05-13 changes.
	* malloc/hooks.c: Likewise.
	* malloc/arena.c: Likewise.
	* malloc/malloc.c (do_check_malloc_state): Don't assert
	n_mmaps is not greater than n_mmaps_max.  This removes the need
	for the previous change.

	* malloc/Makefile (CFLAGS-malloc.c): Revert accidental
	2007-05-07 commit.
2007-05-21 16:13:18 +00:00
Ulrich Drepper
12e8bbff8f * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PRIVATE_FUTEX):
Define for kernel >= 2.6.22.
2007-05-18  Ulrich Drepper  <drepper@redhat.com>
2007-05-19 19:08:24 +00:00
Ulrich Drepper
4f099bb543 (__ASSUME_PRIVATE_FUTEX): Define for kernel >= 2.6.22. 2007-05-19 19:07:59 +00:00
Roland McGrath
77500386c5 Commit missing test case wrapper file. 2007-05-19 08:21:27 +00:00
Ulrich Drepper
df94b6412e * elf/dl-close.c (_dl_close_worker): When removing object from
global scope, wait for all lookups to finish afterwards.
	* elf/dl-open.c (add_to_global): When global scope array must
	grow, allocate a new one and free old array only after all
	lookups finish.
	* elf/dl-runtime.c (_dl_fixup): Protect using global scope.
	(_dl_lookup_symbol_x): Likewise.
	* elf/dl-support.c: Define _dl_wait_lookup_done.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Add
	_dl_wait_lookup_done.
2007-05-19 07:08:23 +00:00
Ulrich Drepper
2acd01acb1 * malloc/malloc.c (do_check_chunk): Correct check for mmaped block
not overlapping with arena.
2007-05-19 04:42:52 +00:00
Ulrich Drepper
129abdd3ee * malloc/mcheck.c (reallochook): If size==0, free the block. 2007-05-19 04:26:03 +00:00
Ulrich Drepper
eb4b098a99 * rt/tst-shm.c: Use fstat64 instead of fstat. 2007-05-19 03:30:44 +00:00
Ulrich Drepper
69e5cbf596 * sysdeps/unix/sysv/linux/i386/sync_file_range.S: Fix case where
__NR_sync_file_range is not defined.
2007-05-18 19:05:37 +00:00
Ulrich Drepper
113ad5fc91 [BZ #4512]
* pthread_mutex_lock.c: Preserve FUTEX_WAITERS bit when dead owner
	is detected.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	Patch in part by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.

	* Makefile (tests): Add tst-robust9 and tst-robustpi9.
	* tst-robust9.c: New file.
	* tst-robustpi9.c: New file.
2007-05-18 00:55:10 +00:00
Ulrich Drepper
bec51a302f Dummy files to prevent stub versions from being used.
* sysdeps/x86_64/fpu/k_cosl.c: New file.
	* sysdeps/x86_64/fpu/k_rem_pio2l.c: New file.
	* sysdeps/x86_64/fpu/k_sinl.c: New file.
	* sysdeps/x86_64/fpu/k_tanl.c: New file.
2007-05-17 18:39:55 +00:00
Ulrich Drepper
a2ccc76087 * version.h (VERSION): Set to 2.6.90.
* version.h (VERSION): Define to 2.6.
	* include/features.h (__GLIBC_MINOR__): Define to 6.
2007-05-17 17:01:03 +00:00
Ulrich Drepper
fbf0c7243a (VERSION): Set to 2.6.90. 2007-05-17 16:59:50 +00:00
Roland McGrath
87e66335db whitespace 2007-05-15 20:24:57 +00:00
Ulrich Drepper
2c1d617226 * version.h (VERSION): Define to 6.
* include/features.h (__GLIBC_MINOR__): Likewise.
2007-05-15 06:49:29 +00:00
Ulrich Drepper
83d87915da * sysdeps/unix/sysv/linux/sem_post.c: Only wake threads if old
value of semaphore was zero.
	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.

	* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Remove unnecessary
	extra cancellation test.
	* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
2007-05-15 06:24:31 +00:00
Ulrich Drepper
1d47e92f71 * malloc/malloc.c: Use all small bin slots on 64-bit archs.
* malloc/malloc.c (largebin_index): Really have 32 buckets with 64
	sizes.
2007-05-15 01:51:37 +00:00
Ulrich Drepper
1a31b586c4 * malloc/malloc.c (largebin_index): Really have 32 buckets with 64 sizes.
2007-05-13  Ulrich Drepper  <drepper@redhat.com>
2007-05-14 22:53:09 +00:00
Ulrich Drepper
366ad8fd05 * malloc/malloc.c [MALLOC_DEBUG]: Keep track of current maximum
number of mmaps.  n_mmaps_max is the target.
	* malloc/hooks.c: Likewise.
	* malloc/arena.c: Likewise.
2007-05-13 20:33:06 +00:00
Ulrich Drepper
bf98bd2966 [MALLOC_DEBUG]: Keep track of current maximum number of mmaps. n_mmaps_max is the target. 2007-05-13 20:32:57 +00:00
Andreas Jaeger
11ed671328 * sysdeps/unix/sysv/linux/tst-getcpu.c: Include <unistd.h> for getpid.
2007-05-12  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/tst-getcpu.c: Include <unistd.h> for
	getpid.
2007-05-12 21:06:31 +00:00
Ulrich Drepper
9b0d1c0236 (add_to_global): One more small cleanup patch. 2007-05-11 21:34:32 +00:00
Ulrich Drepper
2e81d44986 * elf/dl-close.c (_dl_close_worker): Help gcc to optimize by
adding new variables.

	optimize.  Completely extend global scope array before making the
2007-05-11 18:46:50 +00:00
Ulrich Drepper
d65ef3dda3 * elf/dl-open.c (add_to_global): Introduce variable ns to help gcc
optimize.  Complerely extend global scope array before making the
	new entries visible.
2007-05-11 18:27:20 +00:00
Ulrich Drepper
341c566f05 * sysdeps/unix/sysv/linux/tst-getcpu.c: New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=posix] (tests): Add
	tst-getcpu.

	* include/link.h: Move l_version and l_nversion members around to
	fill gaps.
2007-05-11 06:39:07 +00:00
Ulrich Drepper
a53fa282ac * scripts/check-c++-types.sh: Don't use -fnu89-inline option. 2007-05-11 02:20:05 +00:00
Ulrich Drepper
3771196d1d * sysdeps/unix/sysv/linux/sched_setaffinity.c
(__sched_setaffinity_new): If syscall was successful and
	RESET_VGETCPU_CACHE is defined, use it before returning.
	* sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c: New file.
2007-05-10 23:38:55 +00:00
Ulrich Drepper
f9bf102dd6 * io/sys/stat.h: Make sure struct timespec is defined for
__USE_ATFILE.
2007-05-10 22:58:45 +00:00