Commit Graph

1812 Commits

Author SHA1 Message Date
H.J. Lu 620f3d2670 Add "()" when casting to uint64_t for 64-bit store 2012-09-24 09:11:12 -07:00
H.J. Lu ae30640a32 Cast to uint64_t for 64-bit store 2012-09-19 06:12:37 -07:00
Jeff Law 97bc38d7a5 [BZ #14583]
* sysdeps/pthread/pthread.h: Fix prototype of __sigsetjmp.
2012-09-14 14:31:29 -06:00
H.J. Lu 9503345f12 Remove unused __rtld_lock_init_recursive macro 2012-09-13 09:58:58 -07:00
H.J. Lu 70d37fe0b5 Fix a typo in ChangeLog 2012-09-10 05:18:44 -07:00
H.J. Lu e9ceaf254c Rename LDFLAGS-XXX to LDLIBS-XXX for -lstdc++ 2012-09-07 14:11:47 -07:00
H.J. Lu f5fce0629a Add tst-cancel21-static.c 2012-09-06 11:50:21 -07:00
Joseph Myers 26889eacc2 Remove __ASSUME_POSIX_CPU_TIMERS. 2012-09-01 21:32:04 +00:00
Joseph Myers 033d54a2d4 Fix sem_post race (bug 14532). 2012-08-31 19:49:31 +00:00
Roland McGrath b2e1c56272 Make libio compile without _IO_MTSAFE_IO. 2012-08-17 09:35:36 -07:00
Roland McGrath c75ccd4c3a Clean up definition of _LIBC_REENTRANT and _IO_MTSAFE_IO. 2012-08-17 09:35:15 -07:00
Joseph Myers 93a78ac437 Remove __ASSUME_POSIX_TIMERS. 2012-08-16 14:03:43 +00:00
Maxim Kuvyrkov 309becf120 Optimize __libc_lock_lock and __libc_lock_trylock for MIPS. 2012-08-15 16:44:30 -07:00
Maxim Kuvyrkov ef4009734b Add generic versions of pthread_spin_lock and pthread_spin_trylock. 2012-08-15 16:29:06 -07:00
Joseph Myers b36137f1d6 Remove __ASSUME_TGKILL. 2012-08-08 23:22:53 +00:00
Joseph Myers 93df14eee8 Remove some pre-2.6.16 Linux kernel conditionals. 2012-08-07 23:03:35 +00:00
Joseph Myers 85fe199795 Remove some pre-2.6.0 Linux kernel conditionals. 2012-08-03 19:54:08 +00:00
Siddhesh Poyarekar fc56c5bbc1 Fix tst-pthread-getattr test case
Get the tst-pthread-getattr fix back with further improvements so that
it does not fail on targets that use the user stack to save
context.
2012-07-28 13:25:01 +05:30
Andreas Schwab 842a39cd1a Remove unused pseudo_end label 2012-07-25 21:58:17 +02:00
Siddhesh Poyarekar 77b32274e9 Revert fix to tst-pthread-getattr since it fails on sparc 2012-07-25 20:43:55 +05:30
Siddhesh Poyarekar b2ae49dab8 Fix tst-pthread-getattr test case
In some cases, the compiler would optimize out the call to
allocate_and_test and thus result in a false positive for the test
case. Another problem was the fact that the compiler could in some
cases generate additional shifting of the stack pointer, resulting in
alloca moving the stack pointer beyond what is allowed by the
rlimit. Hence, accessing the stackaddr returned by pthread_getattr_np
is safer than relying on the alloca'd result.

Another problem is when RLIMIT may be very large, which may result in
violation of other resource limits. Hence we cap the max stack size to
8M for this test.
2012-07-20 23:28:34 +05:30
Siddhesh Poyarekar a98430587c Fix comment that describes sighandler_setxid 2012-07-19 07:04:24 +05:30
Thomas Schwinge 4b2c8da708 SH: __lll_robust_timedlock_wait: Simplify CFI directives. 2012-06-23 12:17:44 +02:00
Siddhesh Poyarekar 18b5e737de Account for the extra stack size when rlimit is small enough
When rlimit is small enough to be used as the stacksize to be returned
in pthread_getattr_np, cases where a stack is made executable due to a
DSO load get stack size that is larger than what the kernel
allows. This is because in such a case the stack size does not account
for the pages that have auxv and program arguments.

Additionally, the stacksize for the process derived from this should
be truncated to align to page size to avoid going beyond rlimit.
2012-06-20 15:08:22 +05:30
Carlos Sánchez de La Lama 24a6dbed9b Fix build on non-v9 sparc32.
nptl/

	[BZ #14205]
	* sysdeps/sparc/sparc32/pthread_spin_lock.S: Do not use v9
	branches.
2012-06-07 11:57:09 -07:00
Siddhesh Poyarekar 4af3879c26 Wrap __builtin_expect in pthread.h
[BZ #14188]
This fixes compilation of programs using pthread_cleanup_push built
with non-gcc compilers and older gcc compilers.
2012-06-04 11:53:57 +05:30
H.J. Lu 0e20515a17 Use x86-64 bits/pthreadtypes.h/semaphore.h for i386/x86-64 2012-05-30 17:29:22 -07:00
Andreas Schwab 865eac65c2 Move CL entry 2012-05-30 08:49:59 +02:00
Andreas Schwab 4d17e68350 Remove use of INTDEF/INTUSE in nptl 2012-05-30 00:45:53 +02:00
Chung-Lin Tang d701a1abe2 SH: Add CFI directives. 2012-05-28 00:47:07 +02:00
Chung-Lin Tang 65a4de4e06 SH: Add CFI directives. 2012-05-28 00:11:06 +02:00
Siddhesh Poyarekar 9c6ea9facb Fix stack size and address inconsistency due to executable stack
When a stack is marked executable due to loading a DSO that requires
an executable stack, the logic tends to leave out a portion of stack
after the first frame, thus causing a difference in the value returned
by pthread_getattr_np before and after the stack is marked
executable. It ought to be possible to fix this by marking the rest of
the stack as executable too, but in the interest of marking as less of
the stack as executable as possible, the path this fix takes is to
make pthread_getattr_np also look at the first frame as the underflow
end of the stack and compute size and stack top accordingly.

The above happens only for the main process stack. NPTL thread stacks
are not affected by this change.
2012-05-26 09:48:26 +05:30
Rayson Ho 1755728208 i386 port of the pthread SystemTap probes 2012-05-25 13:41:04 -07:00
Roland McGrath 5acf7263d5 Add systemtap static probe points in generic and x86_64 pthread code. 2012-05-25 13:41:03 -07:00
Roland McGrath 3a097cc7a1 Add --enable-systemtap configuration to define static probe points. 2012-05-25 13:40:20 -07:00
Andreas Jaeger de7f5ce7c5 Fix warnings on Linux/i686
Fixes:
../sysdeps/i386/dl-machine.h:336:30: warning: unused variable ‘refsym’ [-Wunused-variable]
rtld.c:1435:3: warning: implicit declaration of function ‘_dl_discover_osversion’ [-Wimplicit-function-declaration]
2012-05-17 20:17:53 +02:00
Joseph Myers 048073995f Remove fallback definitions of __NR_set_robust_list. 2012-05-15 23:36:35 +00:00
Joseph Myers a9538892ad Split up stackguard-macros.h into sysdeps directories. 2012-05-15 23:34:30 +00:00
H.J. Lu f16af74217 Use R*_LP to load pointer and operate on stack 2012-05-15 14:25:31 -07:00
H.J. Lu d9754f5572 Use LP_OP(cmp) and RCX_LP on dep_mutex pointer 2012-05-15 13:39:25 -07:00
H.J. Lu dde05f0093 Use LP_OP(op), LP_SIZE and ASM_ADDR in sem_wait.S 2012-05-15 12:48:26 -07:00
H.J. Lu 9dba3b5c0a se LP_OP(op), LP_SIZE and ASM_ADDR in sem_timedwait.S 2012-05-15 12:47:31 -07:00
H.J. Lu 5f658cf147 Use LP_OP(cmp) on NWAITERS 2012-05-15 10:25:51 -07:00
H.J. Lu 6cae4b26ca Use LP_SIZE and ASM_ADDR in pthread_once.S 2012-05-15 10:24:19 -07:00
H.J. Lu 592f90e6ec Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDR 2012-05-15 10:23:22 -07:00
H.J. Lu 0e8860ad21 Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDR 2012-05-15 10:21:32 -07:00
H.J. Lu 30996e9369 Use LP_OP(cmp) and RCX_LP on dep_mutex pointer 2012-05-15 10:20:15 -07:00
H.J. Lu 289ac4352a Use LP_OP(mov) and RDI_LP on pointer 2012-05-15 10:19:11 -07:00
H.J. Lu 10f74fbcde Use LP_SIZE and load timeout pointer into RDX_LP 2012-05-15 10:03:56 -07:00
Siddhesh Poyarekar 439bf404b8 Allow a single-threaded program to cancel itself
There is nothing in the POSIX specification to disallow a
single-threaded program from cancelling itself, so we forcibly enable
multiple_threads to allow the next available cancellation point in the
thread to run.

Also added additional tests to cover various cancellation scenarios.
2012-05-15 09:41:57 +05:30
H.J. Lu 2949684c16 Add x32 support to tcbhead_t 2012-05-14 20:58:24 -07:00
H.J. Lu 245a11d7bd Add __PTHREAD_RWLOCK_INT_FLAGS_SHARED 2012-05-14 16:48:59 -07:00
H.J. Lu 0b254d8f3d Add sysdeps/x86_64/{64,x32}/shlib-versions 2012-05-14 16:23:57 -07:00
H.J. Lu b8caea2cb9 Add x32 pthread types 2012-05-14 12:56:56 -07:00
H.J. Lu d3c6600440 Update comments for CALL_THREAD_FCT 2012-05-11 14:58:18 -07:00
H.J. Lu 60d45b36a5 Add sysdeps/x86_64/x32/tls.h 2012-05-11 14:33:12 -07:00
H.J. Lu eae2d36a96 Fix a typo in ChangeLo. 2012-05-11 11:34:48 -07:00
H.J. Lu a04e06bc4c Use uint64_t on 64-bit integer 2012-05-11 10:14:57 -07:00
H.J. Lu 512ec530c7 Replace movq/%q0 with mov/%0 in THREAD_SELF 2012-05-11 10:13:54 -07:00
H.J. Lu c0d2c8538a Check __x86_64__ for __cleanup_fct_attribute 2012-05-11 10:12:42 -07:00
H.J. Lu 1f59b0b121 Check __PTHREAD_MUTEX_HAVE_PREV for mutex initializers 2012-05-11 10:10:37 -07:00
H.J. Lu c252ec1579 Check __PTHREAD_MUTEX_HAVE_PREV for mutex prev 2012-05-11 10:08:57 -07:00
Thomas Schwinge be971a2b1c Hurd: libc_once_get 2012-05-10 15:57:24 -07:00
Chung-Lin Tang e1b4354e66 Use CFI statements instead of hand-coding .eh_frame. 2012-05-09 17:48:42 +08:00
David S. Miller 76e835cf9e Fix minor fallout from yesterdays sparc nptl changes.
nptl/

	* sysdeps/sparc/sparc64/pthread_spin_unlock.S: Fix thinko, we
	always have to return 0, especially for the pthread_spin_init
	alias.
	* sysdeps/sparc/sparc32/pthread_spin_lock.S: Add missing trailing
	newline.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S: Likewise.
	* sysdeps/sparc/sparc64/pthread_spin_lock.S: Likewise.
2012-05-03 11:48:13 -07:00
David S. Miller e2dbf201ab Mirror i386 change on sparc: 'Avoid "anonymous" code in pthread_spin_lock'
nptl/

	* sysdeps/sparc/sparc64/pthread_spin_lock.S: New.
	* sysdeps/sparc/sparc64/pthread_spin_lock.c: Delete.
	* sysdeps/sparc/sparc64/pthread_spin_unlock.S: New.
	* sysdeps/sparc/sparc64/pthread_spin_unlock.c: Delete.
	* sysdeps/sparc/sparc64/pthread_spin_trylock.S: New.
	* sysdeps/sparc/sparc64/pthread_spin_trylock.c: Delete.
	* sysdeps/sparc/sparc64/pthread_spin_init.c: New.
	* sysdeps/sparc/sparc32/pthread_spin_lock.S: New.
	* sysdeps/sparc/sparc32/pthread_spin_lock.c: Delete.
	* sysdeps/sparc/sparc32/pthread_spin_trylock.S: New.
	* sysdeps/sparc/sparc32/pthread_spin_trylock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.S: New.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_lock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.S: New.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_trylock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.S: New.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_unlock.c: Delete.
	* sysdeps/sparc/sparc32/sparcv9/pthread_spin_init.c: New.
2012-05-02 19:04:54 -07:00
Allan McRae d4c2917fc5 Fix test-suite failues with -Wl,--as-needed
Signed-off-by: Allan McRae <allan@archlinux.org>
2012-05-02 20:32:50 -04:00
Paul Pluzhnikov ff8a695b6d Kill trailing whitespace. 2012-05-02 14:01:37 -07:00
Paul Pluzhnikov b93d565a51 Avoid "anonymous" code in pthread_spin_lock. 2012-05-02 13:58:40 -07:00
Andreas Schwab 6d5c57fabd Don't run tests when cross-compiling 2012-04-28 22:16:37 +02:00
Siddhesh Poyarekar 6e236b9276 move libgcc_s soname definition to shlib-versions 2012-04-26 09:19:54 +05:30
Paul Pluzhnikov 0cec7c5407 Delete unused TLS_GET_FS, TLS_SET_FS macros. 2012-04-20 09:52:13 -07:00
David S. Miller 7ac88e3831 Fix nptl/tst-cond1{6,7,8}.c on 32-bit with many cpus.
* tst-cond16.c (do_test): Use a thread stack size which is either
	PTHREAD_STACK_MIN or the page size, whichever is larger.
	* tst-cond18.c (do_test): Likewise.
2012-03-27 14:25:55 -07:00
H.J. Lu 24d8f4b7dc Use __asm__("rsp") to get CURRENT_STACK_FRAME 2012-03-19 16:21:21 -07:00
H.J. Lu 4adaaafc9e Use __NR_futex to define SYS_futex 2012-03-19 14:54:35 -07:00
H.J. Lu ca7b8af5db Cast _Unwind_GetCFA return to _Unwind_Ptr first 2012-03-19 13:34:44 -07:00
David S. Miller 7e7fa5f871 Fix libc-lowlevellock.c sysdep finding more generically.
nptl/

	[BZ #13844]
	* sysdeps/unix/sysv/linux/libc-lowlevellock.c: Include using <..>
	instead of "...".
	* sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c:
	Delete, not needed.
2012-03-16 20:40:54 -07:00
David S. Miller c4a7b16eb8 Add missing sparc32 NPTL file otherwise we use the wrong lowlevellock.c implementation.
nptl/

	[BZ #13844]
	* sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c: New file.
2012-03-15 21:13:02 -07:00
Paul Eggert c524201ab0 Replace FSF snail mail address with URL in miscellaneous files. 2012-03-10 00:45:35 +00:00
Joseph Myers 90ad551f73 Make pthread.h define all symbols from time.h.
See:
http://www.pasc.org/interps/unofficial/db/p1003.1c/pasc-1003.1c-46.html
http://www.pasc.org/interps/unofficial/db/p1003.1/pasc-1003.1-86.html
https://www.opengroup.org/sophocles/show_mail.tpl?CALLER=index.tpl&source=L&listname=austin-group-l&id=17302
(Geoff Clare, austin-group-l, 9 Mar 2012)
2012-03-09 21:10:45 +00:00
David S. Miller c64bf5feb3 Update copyright year after my most recent changes.
nptl/

	* sysdeps/unix/sysv/linux/sparc/sem_post.c: Update copyright year.

/

	* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Update
	copyright year.
	* sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise.
2012-03-08 15:09:27 -08:00
Thomas Schwinge 2edd9a79e5 Work around kernel rejecting valid absolute timestamps. 2012-03-08 11:22:41 +01:00
Thomas Schwinge c564a81246 Invalid timeouts in SH sem_timedwait.
We adjusted nwaiters even though this isn't necessary.
2012-03-08 10:45:05 +01:00
Thomas Schwinge 48aff7765b Fix 9554ebf2d4.
| Invalid timeouts in i386 sem_timedwait.
|
| We adjusted nwaiters even though this isn't necessary.
2012-03-08 09:33:12 +01:00
Joseph Myers e7dbb1bec3 Weaken two NPTL configure link tests to compile tests. 2012-03-07 19:34:22 +00:00
Ulrich Drepper a4300c7a4d Remove distribute variable from Makefiles 2012-03-07 05:17:13 -05:00
Thomas Schwinge 840df61ea4 Get rid of superfluous assignments in sem_timedwait 2012-03-07 04:11:11 -05:00
Ulrich Drepper 959e12e37b Fix CL 2012-03-07 00:28:22 -05:00
Ulrich Drepper abdf2e1915 Better CL 2012-03-06 23:39:31 -05:00
Ulrich Drepper 9463518d0d Remove private information from libc-lock.h 2012-03-06 23:37:35 -05:00
David S. Miller e92584001a Fix several build warnings on sparc.
/

	* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
	(set_obp_int): New function.
	(get_obp_int): New function.
	(__get_clockfreq_via_dev_openprom): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_SYSCALL_ERROR_P): Avoid
	unused variable warnings on 'val' and use builtin_expect.
	(INLINE_SYSCALL): Don't wrap INTERNAL_SYSCALL_ERROR_P with builtin_expect.
	(INLINE_CLONE_SYSCALL): Likewise.

nptl/

	* sysdeps/unix/sysv/linux/sparc/sem_post.c (__new_sem_post): Use
	atomic_increment and remove unused local variable.
	(__old_sem_post): Likewise.
2012-03-06 11:15:26 -08:00
David S. Miller 22f9d9df92 Fix stray references to __pthread_attr
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Don't refer to non-existing
	__pthread_attr.
	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
2012-02-27 12:59:16 -08:00
Ulrich Drepper 8da0464f6f Fix name mangling of pthread_attr_t after change 2012-02-26 21:42:53 -05:00
Ulrich Drepper d94a467080 Add first fixes for conformtest for POSIX2008 2012-02-26 21:32:56 -05:00
Ulrich Drepper 4a3dded527 Work around problem of pthread_attr_t definition with old compilers 2012-02-26 17:41:17 -05:00
Ulrich Drepper 4efeffc1d5 Fix up POSIX testing in conformtest 2012-02-26 13:17:27 -05:00
Joseph Myers 0e7dfaef51 Remove old initfini mechanism. 2012-02-21 00:46:01 +00:00
Richard Henderson e3b69ca7d1 s390: Convert to crt[in].S. 2012-02-16 09:24:19 -08:00
Kaz Kojima df83af673b Add SH target specific crti.S and crtn.S and remove initfini files.
Add sysdeps/sh/crti.S, sysdeps/sh/crtn.S and remove sysdeps/sh/elf/initfini.c
and nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c.
2012-02-16 07:17:24 +09:00
David S. Miller f63f338062 Move sparc away from the deprecated inifini.c scheme.
/

	* sysdeps/sparc/Makefile: Add -fPIC when building crt{i,n}.S
	* sysdeps/sparc/crti.S: New file.
	* sysdeps/sparc/crtn.S: New file.
	* sysdeps/sparc/sparc32/Makefile: Remove initfini handling.
	* sysdeps/sparc/sparc64/Makefile: Likewise.

nptl/

	* sysdeps/sparc/Makefile: Add -fPIC when building pt-crti.S and crtn.S
2012-02-16 12:54:05 -08:00