Commit Graph

2289 Commits

Author SHA1 Message Date
Adhemerval Zanella
0ff8246327 PowerPC: Change powerpc64le start ABI to 2.17. 2014-02-04 09:49:08 -02:00
Stefan Liebler
e68485398b S/390: Increase tst-tls7 test case timeout
TLS in a dlopened object works fine when accessed from a signal
handler. The default kernel scheduling parameters prevents the
testcase to finish within the 4 seconds.

Tested the bigger timeout on s390 and s390x.
2014-01-23 16:26:16 +05:30
H.J. Lu
2145f8b51d Don't check asynchronous cancellation on system
Since asynchronous cancellation was removed from system by

commit c4dd57c300
Author: Ondřej Bílka <neleai@seznam.cz>
Date:   Tue Jan 14 16:07:50 2014 +0100

    Do not enable asynchronous cancellation in system. Fixes bug 14782.

    We needlessly enabled thread cancellation before it was necessary.
As
    only call that needs to be guarded is waitpid which is cancellation
    point we could remove cancellation altogether.

we shouldn't check asynchronous cancellation on system.

	[BZ #14782]
	* tst-cancel-wrappers.sh: Remove system.
2014-01-18 06:58:36 -08:00
Paul Pluzhnikov
2112e17675 Fix a race in tst-tls7, which caused crashes on ppc32. 2014-01-11 16:34:15 -08:00
Andreas Krebbel
93a45ff1ca S/390: Make jmp_buf extendible. 2014-01-07 09:36:31 +01:00
Andrew Hunter
7f507ee17a Async-signal safe TLS.
ChangeLog:

2014-01-03  Andrew Hunter  <ahh@google.com>

	* elf/dl-open.c (): New comment.
	* elf/dl-reloc.c (_dl_try_allocate_static_tls): Use
	atomic_compare_and_exchange_bool_acq
	(_dl_allocate_static_tls): Block signals.
	* elf/dl-tls.c (allocate_and_init): Return void.
	(_dl_update_slotinfo): Block signals, use atomic update.

nptl/ChangeLog:

2014-01-03  Andrew Hunter  <ahh@google.com>

	* nptl/Makefile (tst-tls7): New test.
	* nptl/tst-tls7.c: New file.
	* nptl/tst-tls7mod.c: New file.
	* nptl/allocatestack.c (init_one_static_tls): Use atomic barrier.
2014-01-03 11:22:26 -08:00
Allan McRae
d4697bc93d Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Paul Pluzhnikov
35e8f7ab94 Patch 3/4 of the effort to make TLS access async-signal-safe.
Factor out _dl_clear_dtv.

2013-12-18  Andrew Hunter  <ahh@google.com>

	* elf/Versions (ld): Add _dl_clear_dtv.
	* sysdeps/generic/ldsodefs.h (_dl_clear_dtv): New prototype.
	* elf/dl-tls.c (_dl_clear_dtv): New function.
	* nptl/allocatestack.c (get_cached_stack): Call _dl_clear_dtv.
2013-12-18 16:24:19 -08:00
Adhemerval Zanella
5b9bf19142 PowerPC: Add DSO and TAR fields to TLS 2013-12-12 06:51:01 -06:00
Carlos O'Donell
1db94db157 Add test case for pthread_[sg]etname_np.
This commit adds a testcase for pthread_setname_np
and pthread_getname_np. The testcase itself has
four tests to validate that these functions work
as expected. The test is only enabled for Linux
since it requires access to an alternate method
for validating the functions work.
2013-12-12 01:30:28 -05:00
Roland McGrath
b0ef3aecce ChangeLog whitespace fix. 2013-12-11 10:00:32 -08:00
Andreas Schwab
caecf2a0ce Fix CFI annotations in pthread_cond_timedwait for i486+ 2013-12-09 13:53:41 +01:00
Ulrich Weigand
8b8a692cfd PowerPC64 ELFv2 ABI 4/6: Stack frame layout changes
This updates glibc for the changes in the ELFv2 relating to the
stack frame layout.  These are described in more detail here:
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01149.html
http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01146.html

Specifically, the "compiler and linker doublewords" were removed,
which has the effect that the save slot for the TOC register is
now at offset 24 rather than 40 to the stack pointer.

In addition, a function may now no longer necessarily assume that
its caller has set up a 64-byte register save area its use.

To address the first change, the patch goes through all assembler
files and replaces immediate offsets in instructions accessing the
ABI-defined stack slots by symbolic offsets.  Those already were
defined in ucontext_i.sym and used in some of the context routines,
but that doesn't really seem like the right place for those defines.

The patch instead defines those symbolic offsets in sysdeps.h,
in two variants for the old and new ABI, and uses them systematically
in all assembler files, not just the context routines.

The second change only affected a few assembler files that used
the save area to temporarily store some registers.  In those
cases where this happens within a leaf function, this patch
changes the code to store those registers to the "red zone"
below the stack pointer.  Otherwise, the functions already allocate
a stack frame, and the patch changes them to add extra space in
these frames as temporary space for the ELFv2 ABI.
2013-12-04 07:41:39 -06:00
Ulrich Weigand
b525166bb9 PowerPC64: Add __private_ss field to TCB header
The TCB header on Intel contains a field __private_ss that is used
to efficiently implement the -fsplit-stack GCC feature.

In order to prepare for a possible future implementation of that
feature on powerpc64, we'd like to reserve a similar field in
the TCB header as well.  (It would be good if this went in with
or before the ELFv2 patches to ensure that this field will be
available always in the ELFv2 environment.)

The field needs to be added at the front of tcbhead_t structure
to avoid changing the ABI; see the recent discussion when adding
the EBB fields.
2013-12-04 07:41:38 -06:00
Ondřej Bílka
d1d9eaf478 Use __glibc_reserved instead __unused. 2013-11-26 12:32:28 +01:00
Paul Pluzhnikov
67ea2c9a69 Fix intermittent failure in tst-getpid2.
2013-11-25  Paul Pluzhnikov  <ppluzhnikov@google.com>

	[BZ #11214]
	* Makefile (tst-getpid2-ENV): New variable.
2013-11-25 11:38:01 -08:00
Paul Pluzhnikov
4b98b2dcdd Fix missing > on email. 2013-11-20 10:38:20 -08:00
Paul Pluzhnikov
c8b82b81de Fix failure in tst-cleanup2 and tst-cleanupx2 with gcc-4.9
gcc (GCC) 4.9.0 20131114 (experimental)

2013-11-20  Paul Pluzhnikov  <ppluzhnikov@google.com

	* Makefile (tst-cleanup2, tst-cleanupx2): Add -fno-builtin
2013-11-20 10:25:57 -08:00
Paul Pluzhnikov
71655786bc Revert "Fix failure in nptl/tst-cleanup when building with"
This reverts commit 78271fa91a.

Actually, a different fix is needed.
2013-11-20 10:13:37 -08:00
Paul Pluzhnikov
78271fa91a Fix failure in nptl/tst-cleanup when building with
gcc (GCC) 4.9.0 20131114 (experimental)

2013-11-20  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* nptl/tst-cleanup2.c (do_test): Handle SIGILL as well.
2013-11-20 10:05:24 -08:00
Mike Frysinger
cb8a6dbd17 rename configure.in to configure.ac
Autoconf has been deprecating configure.in for quite a long time.
Rename all our configure.in and preconfigure.in files to .ac.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-10-30 17:32:08 +10:00
Maciej W. Rozycki
53247a0b8f nptl: tst-mutex8.c: Handle ENOTSUP PI mutex failure 2013-10-05 00:00:32 +01:00
Alan Modra
8f9ebb08af PowerPC LE configury
http://sourceware.org/ml/libc-alpha/2013-08/msg00096.html

This adds the basic configury bits for powerpc64le and powerpcle.

	* configure.in: Map powerpc64le and powerpcle to base_machine/machine.
	* configure: Regenerate.
	* nptl/shlib-versions: Powerpc*le starts at 2.18.
	* shlib-versions: Likewise.
2013-10-04 10:42:27 +09:30
Alan Modra
9b874b2f1e PowerPC ugly symbol versioning
http://sourceware.org/ml/libc-alpha/2013-08/msg00090.html

This patch fixes symbol versioning in setjmp/longjmp.  The existing
code uses raw versions, which results in wrong symbol versioning when
you want to build glibc with a base version of 2.19 for LE.

Note that the merging the 64-bit and 32-bit versions in novmx-lonjmp.c
and pt-longjmp.c doesn't result in GLIBC_2.0 versions for 64-bit, due
to the base in shlib_versions.

	* sysdeps/powerpc/longjmp.c: Use proper symbol versioning macros.
	* sysdeps/powerpc/novmx-longjmp.c: Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/bsd-setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/fpu/setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc32/mcount.c: Likewise.
	* sysdeps/powerpc/powerpc32/setjmp.S: Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S: Likewise.
	* nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Likewise.
2013-10-04 10:38:28 +09:30
Siddhesh Poyarekar
ad4e70da03 Fix PI mutex check in pthread_cond_broadcast and pthread_cond_signal
Fixes BZ #15988.

The check had a typo - it checked for PTHREAD_MUTEX_ROBUST_NP instead
of PTHREAD_MUTEX_ROBUST_NORMAL_NP.  It has now been replaced by the
already existing convenience macro USE_REQUEUE_PI.
2013-10-01 20:35:28 +05:30
Siddhesh Poyarekar
c04d498c12 Move ChangeLog entry 2013-09-27 23:02:57 +05:30
Siddhesh Poyarekar
c8886d0abf Use the mutex member of the argumen in __libc_lock_*_recursive 2013-09-27 07:59:26 +05:30
Joseph Myers
3f2e46a494 Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
Siddhesh Poyarekar
6c8bbad927 Mark success return value as volatile to work around rescheduling
Resolves #15921

The test case nptl/tst-cleanup2 fails on s390x and power6 due to
instruction sheduling in gcc.  This was reported in gcc:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58034

but it was concluded that gcc is allowed to assume that the first
argument to sprintf is a character array - NULL not being a valid
character array.
2013-09-03 09:29:01 +05:30
Ondřej Bílka
382466e04e Fix typos. 2013-08-30 18:08:59 +02:00
Ondřej Bílka
c0c3f78afb Fix typos. 2013-08-21 19:48:48 +02:00
David S. Miller
135529b443 Remove Linux kernel version ambiguity in comment added by previous commit.
* tst-cancel4.c (WRITE_BUFFER_SIZE): Adjust comment.
2013-07-23 11:31:39 -07:00
David S. Miller
e7074e4c5e Increase nptl test case buffer size so we really block on current Linux kernels.
* tst-cancel4.c (WRITE_BUFFER_SIZE): Increase to 16384.
2013-07-23 02:31:37 -07:00
Dominik Vogt
075b9322c9 Clean up whitespace in lock elision patches.
Signed-off-by: Carlos O'Donell <carlos@redhat.com>
2013-07-19 02:35:04 -04:00
Dominik Vogt
d3d3ce982a Remove remains of rwlock elision which is not implemented yet.
Signed-off-by: Carlos O'Donell <carlos@redhat.com>

---

nptl/
2013-07-19  Dominik Vogt  <vogt@de.ibm.com>

	* sysdeps/unix/sysv/linux/x86/elision-conf.c:
	Remove __rwlock_rtm_enabled and __rwlock_rtm_read_retries.
	(elision_init): Don't set __rwlock_rtm_enabled.
	* sysdeps/unix/sysv/linux/x86/elision-conf.h:
	Remove __rwlock_rtm_enabled.
2013-07-19 02:23:28 -04:00
H.J. Lu
e2a32bee75 Add x86 init-arch to nptl 2013-07-03 09:22:31 -07:00
Andi Kleen
1717da59ae Add a configure option to enable lock elision and disable by default
Can be enabled with --enable-lock-elision=yes at configure time.
2013-07-02 08:46:55 -07:00
Andi Kleen
49186d21ef Disable elision for any pthread_mutexattr_settype call
PTHREAD_MUTEX_NORMAL requires deadlock for nesting, DEFAULT
does not. Since glibc uses the same value (0) disable elision
for any call to pthread_mutexattr_settype() with a 0 value.
This implies that a program can disable elision by doing
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)

Based on a original proposal by Rich Felker.
2013-07-02 08:46:55 -07:00
Andi Kleen
e8c659d74e Add elision to pthread_mutex_{try,timed,un}lock
Add elision paths to the basic mutex locks.

The normal path has a check for RTM and upgrades the lock
to RTM when available. Trylocks cannot automatically upgrade,
so they check for elision every time.

We use a 4 byte value in the mutex to store the lock
elision adaptation state. This is separate from the adaptive
spin state and uses a separate field.

Condition variables currently do not support elision.

Recursive mutexes and condition variables may be supported at some point,
but are not in the current implementation. Also "trylock" will
not automatically enable elision unless some other lock call
has been already called on the lock.

This version does not use IFUNC, so it means every lock has one
additional check for elision. Benchmarking showed the overhead
to be negligible.
2013-07-02 08:46:55 -07:00
Andi Kleen
68cc29355f Add minimal test suite changes for elision enabled kernels
tst-mutex5 and 8 test some behaviour not required by POSIX,
that elision changes. This changes these tests to not check
this when elision is enabled at configure time.
2013-07-02 08:46:54 -07:00
Andi Kleen
b023e4ca99 Add new internal mutex type flags for elision.
Add Enable/disable flags used internally

Extend the mutex initializers to have the fields needed for
elision. The layout stays the same, and this is not visible
to programs.

These changes are not exposed outside pthread
2013-07-02 08:46:54 -07:00
Andi Kleen
1cdbe57948 Add the low level infrastructure for pthreads lock elision with TSX
Lock elision using TSX is a technique to optimize lock scaling
It allows to run locks in parallel using hardware support for
a transactional execution mode in 4th generation Intel Core CPUs.
See http://www.intel.com/software/tsx for more Information.

This patch implements a simple adaptive lock elision algorithm based
on RTM. It enables elision for the pthread mutexes and rwlocks.
The algorithm keeps track whether a mutex successfully elides or not,
and stops eliding for some time when it is not.

When the CPU supports RTM the elision path is automatically tried,
otherwise any elision is disabled.

The adaptation algorithm and its tuning is currently preliminary.

The code adds some checks to the lock fast paths. Micro-benchmarks
show little to no difference without RTM.

This patch implements the low level "lll_" code for lock elision.
Followon patches hook this into the pthread implementation

Changes with the RTM mutexes:
-----------------------------
Lock elision in pthreads is generally compatible with existing programs.
There are some obscure exceptions, which are expected to be uncommon.
See the manual for more details.

- A broken program that unlocks a free lock will crash.
  There are ways around this with some tradeoffs (more code in hot paths)
  I'm still undecided on what approach to take here; have to wait for testing reports.
- pthread_mutex_destroy of a lock mutex will not return EBUSY but 0.
- There's also a similar situation with trylock outside the mutex,
  "knowing" that the mutex must be held due to some other condition.
  In this case an assert failure cannot be recovered. This situation is
  usually an existing bug in the program.
- Same applies to the rwlocks. Some of the return values changes
  (for example there is no EDEADLK for an elided lock, unless it aborts.
   However when elided it will also never deadlock of course)
- Timing changes, so broken programs that make assumptions about specific timing
  may expose already existing latent problems.  Note that these broken programs will
  break in other situations too (loaded system, new faster hardware, compiler
  optimizations etc.)
- Programs with non recursive mutexes that take them recursively in a thread and
  which would always deadlock without elision may not always see a deadlock.
  The deadlock will only happen on an early or delayed abort (which typically
  happens at some point)
  This only happens for mutexes not explicitely set to PTHREAD_MUTEX_NORMAL
  or PTHREAD_MUTEX_ADAPTIVE_NP.  PTHREAD_MUTEX_NORMAL mutexes do not elide.

The elision default can be set at configure time.

This patch implements the basic infrastructure for elision.
2013-07-02 08:46:54 -07:00
Vladimir Nikulichev
e1f0b2cfa1 BZ #12310: pthread_exit in static app. segfaults
Static applications that call pthread_exit on the main
thread segfault. This is because after a thread terminates
__libc_start_main decrements __nptl_nthreads which is only
defined in pthread_create. Therefore the right solution is
to add a requirement to pthread_create from pthread_exit.

~~~
nptl/

2013-06-24  Vladimir Nikulichev  <v.nikulichev@gmail.com>

	[BZ #12310]
	* pthread_exit.c: Add reference to pthread_create.
2013-06-24 17:12:30 -04:00
Joseph Myers
e781d7c58f Include <string.h> in nptl/pthread_setattr_default_np.c. 2013-06-22 19:32:50 +00:00
Adhemerval Zanella
e55a9b256d PowerPC: Reserve TCB space for EBB framework
This patch reserves four pointer to be used in future Event-Based
Branch framework for PowerPC.
2013-06-17 15:50:53 -05:00
Siddhesh Poyarekar
61dd6208fb New API to set default thread attributes
This patch introduces two new convenience functions to set the default
thread attributes used for creating threads.  This allows a programmer
to set the default thread attributes just once in a process and then
run pthread_create without additional attributes.
2013-06-15 12:24:15 +05:30
Siddhesh Poyarekar
5865a56bf4 Avoid access beyond memory bounds in pthread_attr_getaffinity_np
Resolves BZ #15618.

pthread_attr_getaffinity_np may write beyond bounds of the input
cpuset buffer if the size of the input buffer is smaller than the
buffer present in the input pthread attributes.  Fix is to copy to the
extent of the minimum of the source and the destination.
2013-06-14 01:20:06 +05:30
Carlos O'Donell
be11d71394 x86*: Return syscall error for lll_futex_wake.
It is very very possible that the futex syscall returns an
error and that the caller of lll_futex_wake may want to
look at that error and propagate the failure.

This patch allows a caller to see the syscall error.

There are no users of the syscall error at present, but
future cleanups are now be able to check for the error.

--

nplt/

2013-06-10  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h
	(lll_futex_wake): Return syscall error.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
	(lll_futex_wake): Return syscall error.
2013-06-10 12:05:11 -04:00
Ondrej Bilka
416641e687 Fix previous commit. 2013-06-08 23:07:18 +02:00
Ondrej Bilka
e3f36662ee Silence warning: __inline is not at beginning of declaration. 2013-06-08 20:03:24 +02:00
Ondrej Bilka
350635a59a Fix leading whitespaces. 2013-06-06 20:36:07 +02:00
Joseph Myers
c7afae94ca Remove trailing whitespace in nptl. 2013-06-06 12:06:15 +00:00
Joseph Myers
fab7ce3f5b Link extra-libs consistently with libc and ld.so. 2013-05-31 16:16:33 +00:00
Ryan S. Arnold
e054f49430 Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
Andreas Jaeger
ecbf434213 Reserve new TLS field for x86 and x86_64
[BZ #10686]
	* sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss
	field.
	* sysdeps/i386/tls.h (struct tcbhead_t): Likewise.
2013-05-15 20:20:54 +02:00
Andi Kleen
66c13581af Fix tst-mutexpi8
2013-05-09  Andi Kleen  <ak@linux.intel.com>

	* tst-mutex8.c (do_test): Check for ENABLE_PI.
2013-05-09 16:15:50 +02:00
Siddhesh Poyarekar
da1304bcc8 Consolidate pthread_attr value validation
Define inline functions that wrap around validation for each of the
pthread attributes to reduce duplication in code.
2013-04-22 10:28:31 +05:30
Andreas Schwab
4f682b2ae9 Extend i486 pthread_cond_timedwait to use futex syscall with absolute timeout 2013-04-11 10:40:39 +02:00
Carlos O'Donell
96497bb806 sem_post.c: Include atomic.h.
The sem_post.c file uses atomic functions without including
atomic.h. Add `#include <atomic.h>' to the file to prevent
any compile time warnings when other headers change and
atomic.h isn't implicitly included.

---
nptl/

2013-04-07  Carlos O'Donell  <carlos@redhat.com>

	* sysdeps/unix/sysv/linux/sem_post.c: Include atomic.h.
2013-04-07 16:13:02 -04:00
Siddhesh Poyarekar
9ac3b5047e Fix static build when configured with --disable-hidden-plt
Fixes BZ #15337.

Static builds fail with the following warning:

/home/tools/glibc/glibc/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:80:
undefined reference to `__GI___pthread_unwind'

When the source is configured with --disable-hidden-plt.  This is
because the preprocessor conditional in cancellation.S only checks if
the build is for SHARED, whereas hidden_def is defined appropriately
only for a SHARED build that will have symbol versioning *and* hidden
defs are enabled.  The last case is false here.
2013-04-04 19:43:56 +05:30
Roland McGrath
e57b0c6100 Avoid unconditional __call_tls_dtors calls in static linking. 2013-03-28 16:52:57 -07:00
Siddhesh Poyarekar
5cebee5db0 Fix up ChangeLog
I forgot to fix up the ChangeLog after renaming __default_attr to
__default_pthread_attr in code.
2013-03-19 15:00:08 +05:30
Siddhesh Poyarekar
e903a7138b Move __default_stacksize into __default_pthread_attr
Make __default_pthread_attr object to store default attribute values
for threads.
2013-03-19 14:34:13 +05:30
Siddhesh Poyarekar
69854bb5e9 Rename some static variables
Rename some static variables to give them unique names.
2013-03-18 13:44:05 +05:30
Carlos O'Donell
05087fbb0d Include atomic.h in generic lowlevellock.c. 2013-03-12 23:27:24 -04:00
Roland McGrath
b43769a3f5 Rejigger i386 dl-sysdep.h files. 2013-03-04 09:40:25 -08:00
Carlos O'Donell
4e9b599577 Revert GLIBC_PTHREAD_DEFAULT_STACKSIZE changes.
This reverts the change that allows the POSIX Thread default stack size
to be changed by the environment variable
GLIBC_PTHREAD_DEFAULT_STACKSIZE. It has been requested that more
discussion happen before this change goes into 2.18.
2013-03-01 16:18:08 -05:00
Siddhesh Poyarekar
ace4acc8ac Fix build warning 2013-03-01 20:45:17 +05:30
Siddhesh Poyarekar
e23872c8db Set default stack size from program environment
New environment variable GLIBC_PTHREAD_DEFAULT_STACKSIZE to do this.
2013-03-01 14:15:39 +05:30
David S. Miller
2b7ae1b27f Add priority inheritance futex support on sparc.
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h
	(FUTEX_WAIT_REQUEUE_PI): Define.
	(FUTEX_CMP_REQUEUE_PI): Likewise.
	(lll_futex_wait_requeue_pi): Likewise.
	(lll_futex_timed_wait_requeue_pi): Likewise.
	(lll_futex_cmp_requeue_pi): Likewise.
2013-02-21 15:20:27 -08:00
Carlos O'Donell
9bf95cbc35 nptl: Fix comment typo in fork.c. 2013-02-21 09:36:43 -05:00
Siddhesh Poyarekar
f4804ca2bb Fix ChangeLogs 2013-02-18 21:41:34 +05:30
Siddhesh Poyarekar
ba384f6ed9 C++11 thread_local destructors support
This feature is specifically for the C++ compiler to offload calling
thread_local object destructors on thread program exit, to glibc.
This is to overcome the possible complication of destructors of
thread_local objects getting called after the DSO in which they're
defined is unloaded by the dynamic linker.  The DSO is marked as
'unloadable' if it has a constructed thread_local object and marked as
'unloadable' again when all the constructed thread_local objects
defined in it are destroyed.
2013-02-18 19:08:21 +05:30
Siddhesh Poyarekar
ffaa74cf68 Fix build warnings in some test cases
Include stdlib.h to get declaration of exit(3)
2013-02-18 18:17:05 +05:30
Siddhesh Poyarekar
8313cb997d FUTEX_*_REQUEUE_PI support for non-x86 code
Add FUTEX_*_REQUEUE_PI support for the default C code and also add
implementations for s-390 and ppc.
2013-02-18 16:07:10 +05:30
Joseph Myers
daaa7713e9 Remove bounded-pointers build system support. 2013-02-15 15:07:54 +00:00
Joseph Myers
e97ed6ddbe Remove bp-sym.h and BP_SYM uses from C code. 2013-02-14 13:12:02 +00:00
Andreas Schwab
903ae060db Don't use GLIBC_PRIVATE errno outside of libraries 2013-02-04 10:01:54 +01:00
Andreas Schwab
cfa8054fbb Hide reference to mktemp in libpthread 2013-01-16 15:57:11 +01:00
Carlos O'Donell
c0609c5c5e Remove unnecessary assert on attr in allocate_stack(). 2013-01-11 20:52:05 -05:00
H.J. Lu
740b3dbee8 Add --enable-hardcoded-path-in-tests configure option 2013-01-11 07:14:18 -08:00
Andreas Schwab
e3f45e2bbe Revert "Extend i486 pthread_cond_timedwait to use futex syscall with absolute timeout"
This reverts commit 1bd57044e9.
2013-01-10 10:44:05 +01:00
Andreas Schwab
1bd57044e9 Extend i486 pthread_cond_timedwait to use futex syscall with absolute timeout
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
	(__pthread_cond_timedwait): If possible use FUTEX_WAIT_BITSET to
	directly use absolute timeout.
2013-01-10 09:59:58 +01:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Joseph Myers
f4cf5f2d8b Add script to update copyright notices and reformat some to facilitate its use. 2013-01-01 16:29:10 +00:00
Andi Kleen
c93c5dec54 Convert pthread_rwlock_try(rd/wr)lock to prototypes
2012-12-28  Andi Kleen  <ak@linux.intel.com>

        * pthread_rwlock_tryrdlock.c (__pthread_rwlock_tryrdlock):
        * Convert
	to prototype.
        * pthread_rwlock_trywrlock.c (__pthread_rwlock_trywrlock):
	Likewise.
2012-12-28 21:25:07 +01:00
David S. Miller
9c7595bda2 Add sparc implementation of lll_futex_timed_wait_bitset
nptl/

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h
	(lll_futex_timed_wait_bitset): New macro.
2012-12-27 08:20:46 -08:00
Siddhesh Poyarekar
8ebac7785b [s390] Replace lll_futex_* assembly code with INTERNAL_SYSCALL 2012-12-27 20:43:02 +05:30
Siddhesh Poyarekar
56e7d3ad5c Fix some build warnings on s390x 2012-12-08 13:03:24 +05:30
Joseph Myers
d39b954531 Remove unused variable from powerpc sem_post.c. 2012-12-04 21:39:04 +00:00
Allan McRae
e30907c3a4 Remove unneeded linking in nptl testsuite 2012-12-03 13:56:07 +10:00
H.J. Lu
c515fb5148 Cast to __intptr_t before casting pointer to int64 2012-11-26 16:45:36 -08:00
Joseph Myers
09e958ed42 Remove unused variable from sem_post.c. 2012-11-21 20:00:52 +00:00
Joseph Myers
fac9916c96 Remove unused variable from pthread_cond_timedwait.c. 2012-11-21 20:00:11 +00:00
Marcus Shawcroft
c485e4d2cc Adding missing -fexception CFLAGS 2012-11-14 12:35:10 +00:00
Chris Metcalf
91e0d40e89 Bump timeouts on some new nptl tests to support tilepro. 2012-11-06 13:10:19 -05:00
Siddhesh Poyarekar
8f861542dd [S390,PPC] Implement FUTEX_WAIT_BITSET for timedwait functions
Since the FUTEX_WAIT operation takes a relative timeout, the
pthread_cond_timedwait and other timed function implementations have
to get a relative timeout from the absolute timeout parameter it gets
before it makes the futex syscall.  This value is then converted back
into an absolute timeout within the kernel.  This is a waste and has
hence been improved upon by a FUTEX_WAIT_BITSET operation (OR'd with
FUTEX_CLOCK_REALTIME to make the kernel use the realtime clock instead
of the default monotonic clock).  This was implemented only in the x86
and sh assembly code and not in the C code.  This patch implements
support for FUTEX_WAIT_BITSET whenever available (since linux-2.6.29)
for s390 and powerpc.
2012-11-05 21:12:52 +05:30
David S. Miller
d3bd58cf0a Fix coding style in sparc lowlevellock.h
nptl/

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (BUSY_WAIT_NOP):
	Add missing spaces.
	(__cpu_relax): Likewise.
2012-11-03 15:25:55 -07:00
H.J. Lu
f62c8abcfb Compile x86 rtld with -mno-sse -mno-mmx 2012-11-02 18:43:27 -07:00
Aurelien Jarno
a9879fee34 Fix nptl/tst-cancel7 for non-bash shells. 2012-10-30 16:32:26 +00:00
David S. Miller
19f1dd5f2d Define a BUSY_WAIT_NOP for sparc.
nptl/

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (BUSY_WAIT_NOP):
	Define when we have v9 instructions available.
	* sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile: New
	file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: Add cpu_relax
	to libpthread-routines.
2012-10-28 23:19:00 -07:00
Roland McGrath
b9473651bc Fix build breakage in tst-cond-except.c. 2012-10-25 17:02:51 -07:00
Joseph Myers
6a345e4261 Use bash to run nptl/tst-tls6.sh. 2012-10-25 21:59:14 +00:00
Roland McGrath
c0a1472e22 Fix compiler warnings in some NPTL tests. 2012-10-25 14:43:10 -07:00
Joseph Myers
cc1290d07e Support cross-testing. 2012-10-24 21:59:01 +00:00
Roland McGrath
6e6249d0b4 BZ#14743: Move clock_* symbols from librt to libc. 2012-10-24 14:50:46 -07:00
Joseph Myers
0bf57f872c Don't set resource limits in tst-oddstacklimit-ENV. 2012-10-24 17:13:24 +00:00
Joseph Myers
03ac099f6b Define and use $(run-built-tests). 2012-10-24 00:08:46 +00:00
Jim Blandy
166bca2480 Add and use $(host-built-program-cmd). 2012-10-23 22:49:59 +00:00
Jim Blandy
aba759841b Use $(NM) not nm in tst-cancel-wrappers. 2012-10-21 22:38:34 +00:00
Siddhesh Poyarekar
370539fb64 Fix typo in nptl/ChangeLog 2012-10-17 21:05:29 +05:30
Siddhesh Poyarekar
37785907d5 Don't check error return for pthread_cancel in tst-cond25 2012-10-17 21:02:56 +05:30
Siddhesh Poyarekar
9485a40444 Adjust mutex lock in condvar_cleanup if we got it from requeue_pi
This completes the fix to bz #14652.
2012-10-16 14:23:35 +05:30
Carlos O'Donell
54a417345e Fixup nptl/ChangeLog for last commit. 2012-10-10 23:34:38 -04:00
Carlos O'Donell
0d522f6417 Fix formatting in nptl/sysdeps/pthread/pthread.h.
The macro pthread_cleanup_push_defer_np in pthread.h has a misaligned
line continuation marker. This marker was previously aligned, but
recent changes have moved it out of alignment. This change realigns
the marker. This also reduces the diff against the hppa version of
pthread.h where the marker is aligned.
2012-10-10 23:28:52 -04:00
Siddhesh Poyarekar
0e3b5d6a68 Take lock in pthread_cond_wait cleanup handler only when needed
[BZ #14652]
When a thread waiting in pthread_cond_wait with a PI mutex is
cancelled after it has returned successfully from the futex syscall
but just before async cancellation is disabled, it enters its
cancellation handler with the mutex held and simply calling a
mutex_lock again will result in a deadlock.  Hence, it is necessary to
see if the thread owns the lock and try to lock it only if it doesn't.
2012-10-10 12:52:56 +05:30
Roland McGrath
b8493de0ec Add missing magic to GLIBC_PROVIDES. 2012-10-09 15:41:30 -07:00
David S. Miller
f076216468 Correct libthreadb register access for 64-bit sparc.
[BZ #14568]
	* sysdeps/sparc/tls.h (DB_THREAD_SELF_INCLUDE): Delete.
	(DB_THREAD_SELF): Use constants for the register offsets.  Correct
	the case of a 64-bit debugger with a 32-bit inferior.
2012-10-05 21:22:41 -07:00
H.J. Lu
1d1b34df90 Add test cases for BZ #14557 2012-10-05 10:23:58 -07:00
Siddhesh Poyarekar
c30e8edf7c Unlock mutex before going back to waiting for PI mutexes
[BZ #14417]
A futex call with FUTEX_WAIT_REQUEUE_PI returns with the mutex locked
on success.  If such a successful thread is pipped to the cond_lock by
another spuriously woken waiter, it could be sent back to wait on the
futex with the mutex lock held, thus causing a deadlock.  So it is
necessary that the thread relinquishes the mutex before going back to
sleep.
2012-10-05 18:52:36 +05:30
Roland McGrath
9043e2288e Name space hygeine for madvise. 2012-10-04 16:31:43 -07:00
H.J. Lu
b2f80a478e Update copyright years 2012-10-02 16:50:47 -07:00
Siddhesh Poyarekar
adcdc775e1 Fix clone flag name in comment to CLONE_CHILD_CLEARTID. 2012-10-02 08:52:55 +05:30
Siddhesh Poyarekar
55a051c985 Fix exception table for i386 pthread_cond_wait
[BZ #14477]
Add an additional entry in the exception table to jump to
__condvar_w_cleanup2 instead of __condvar_w_cleanup for PI mutexes
when %ebx contains the address of the futex instead of the condition
variable.
2012-10-01 23:21:39 +05:30
Alan Modra
7e2fca8dd2 Fix bugs in powerpc pthread_once.
Ref gcc.gnu.org/bugzilla/show_bug.cgi?id=52839#c10

Release barriers are needed to ensure that any memory written by
init_routine is seen by other threads before *once_control changes.
In the case of clear_once_control we need to flush any partially
written state.
2012-09-25 16:30:06 -05:00
Dmitry V. Levin
57c69bef13 Set "fail on error" mode directly in testsuite shell scripts 2012-09-25 02:48:31 +00:00
Dmitry V. Levin
9a9028b1fe Add copyright notices to testsuite shell scripts 2012-09-25 02:48:13 +00:00
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
Marek Polacek
d463ab10dd Remove unused Makefile. 2012-02-15 21:07:06 +01:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Andreas Schwab
2832840339 Add missing dependency for pt-crti.o 2012-02-08 16:16:42 +01:00
Joseph Myers
3add8e1353 Support crti.S and crtn.S provided directly by architectures. 2012-02-08 01:45:26 +00:00
Joseph Myers
9a1d92541f Consistently use macros for x86 PIC thunks. 2012-02-03 23:22:53 +00:00
Ulrich Drepper
5452bffeef Fix warnings due to return in void functions 2012-01-11 11:56:30 -05:00
Ulrich Drepper
8898f02074 Add const attribute to pthread_equal 2012-01-10 19:37:35 -05:00
Ulrich Drepper
356fa562ec Consistently added return to pthread_exit 2012-01-10 19:02:21 -05:00
Adhemerval Zanella
f5420cf073 CL 2012-01-08 19:57:22 -05:00
Adhemerval Zanella
232872379e Use __pthread_get_minstack for AIO helper thread 2012-01-08 19:56:52 -05:00
Marek Polacek
c473bd1cd9 Quash implicit declaration warning 2012-01-08 13:21:50 -05:00
Ulrich Drepper
2119dcfacc Static linking is always needed 2012-01-08 09:52:29 -05:00
Ulrich Drepper
a784e50247 Remove pre-ISO C support
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
0269750ca6 Remove non-ELF support 2012-01-07 20:30:26 -05:00
Ulrich Drepper
ecb6fb48b7 Clean up shlib-versions files
Ports have their own files
2012-01-07 13:02:29 -05:00
Ulrich Drepper
120ced3f5d Remove IA-64 support from NPTL 2012-01-07 12:16:05 -05:00
Ulrich Drepper
ee9e064083 Use __pthread_get_minstack in more places 2011-12-22 22:58:17 -05:00
Ulrich Drepper
2c1094bd70 Create internal threads with sufficient stack size 2011-12-22 22:43:39 -05:00
Ulrich Drepper
60e8585f2a Fix reading thread name from comm file 2011-12-21 19:26:29 -05:00
Carlos O'Donell
caafb2b06b Return errno on failure in allocate_stack
In cases where a function call fails return
errno and allow the caller to fixup the return
code as required by their API.
2011-12-14 21:32:11 -05:00
Jeff Law
e988dba98d BZ #5245: pthread_create returns EAGAIN for stack allocation failure, not ENOMEM. 2011-12-14 13:14:56 -08:00
Ulrich Drepper
ade60c8942 Fix CL 2011-12-02 07:34:19 -05:00
Andreas Schwab
c5a0802a68 Handle EAGAIN from FUTEX_WAIT_REQUEUE_PI 2011-11-30 11:03:19 +01:00
Ulrich Drepper
312be3f9f5 Clean up internal fopen uses
No need to ever not use c and e.
2011-11-15 04:24:42 -05:00
Ulrich Drepper
c2b18f7a0e Add missing register initialization in x86-64 pthread_cond_timedwait 2011-10-29 15:50:01 -04:00
Andreas Schwab
3871f58f06 Don't mark memory synchronisation functions as leaf 2011-10-27 17:20:14 +02:00
Ulrich Drepper
485683c35f Remove warnings in NPTL tests 2011-10-24 21:43:33 -04:00
Ulrich Drepper
10d005f77f Remove unnecessary include from x86-32 tls.h 2011-10-23 16:31:09 -04:00
Ulrich Drepper
2fa2ae85ca Fix strnlen change 2011-10-23 16:30:40 -04:00
Ulrich Drepper
fd5bdc0924 Optimize access to isXYZ and toXYZ tables
The functions to get the pointers can now depend on the TLS variable
be initialized.
2011-10-15 16:27:08 -04:00
Andreas Schwab
7a775e6b3d Avoid race between {,__de}allocate_stack and __reclaim_stacks during fork 2011-09-15 15:36:18 +02:00
Ulrich Drepper
83cd142045 Remove --wth-tls option, TLS support is required 2011-09-11 15:02:01 -04:00
Ulrich Drepper
02d46fc4b9 Simplify malloc initialization
Singificantly reduce the code needed at malloc initialization.  In
the process getpagesize is simplified by always initializing
GLRO(dl_pagesize).
2011-09-10 21:47:36 -04:00
Ulrich Drepper
d063d16433 Remove support for !USE___THREAD 2011-09-10 16:50:28 -04:00
Ulrich Drepper
3ce1f29594 Cleanup of configuration options
Make several tool features mandatory and simplify the code.
2011-09-10 14:34:15 -04:00
H.J. Lu
1e4bd093e6 Fix macro used in test 2011-09-08 23:53:04 -04:00
Ulrich Drepper
9e5c9dcd57 Remove gettimeofday vsyscall use from x86-86 libpthread 2011-09-07 00:14:06 -04:00
Ulrich Drepper
a0e1f41bd4 Don't call gettimeofday vsyscall in x86-64 sem_timedwait 2011-09-06 23:17:53 -04:00
David S. Miller
39c4451cec Fix nptl semaphore cleanup invocation. 2011-09-05 10:01:52 -07:00
Andreas Schwab
523df51151 Fix setxid race handling exiting threads 2011-08-31 11:21:13 +02:00
David S. Miller
e315850c08 Fix typo in tst-cleanup0.out rule. 2011-08-20 21:19:28 -07:00
Roland McGrath
5744c68d78 Align x86 TCB to 64 bytes (cache line size), important for Atom. 2011-08-14 19:26:49 -07:00
Andreas Schwab
a724d1b9bf Fix stack alignment on x86_64 2011-08-09 10:07:10 -04:00
Ulrich Drepper
7a03a9c8c4 Add read barriers in cancellation initialization 2011-07-22 23:48:22 -04:00
Roland McGrath
4b3d3e282a Quash a warning in nptl/allocatestack.c 2011-07-14 20:47:19 -07:00
Ulrich Drepper
ecaddd6699 Rebuild configure scripts 2011-07-06 21:29:02 -04:00
Ulrich Drepper
6f8326cacd Fix robust mutex handling after fork 2011-06-30 20:41:34 -04:00
Andreas Jaeger
c71ca1f89c Quash two memset undeclared warnings. 2011-06-14 13:11:39 -07:00
Ulrich Drepper
5bdcc10322 Translate kernel error into what pthread_create should return 2011-05-11 18:23:24 -04:00
Jim Meyering
ded5b9b7c7 Remove doubled words. 2011-04-22 21:34:32 -04:00
Ulrich Drepper
e6c6149412 Fix memory leak in TLS of loaded objects. 2011-04-10 22:43:01 -04:00
Ulrich Drepper
e943389325 Remove use of ranlib. 2011-02-15 14:52:29 -05:00
Roland McGrath
c5be0f71d9 Fix comment typos. 2011-01-19 10:20:38 -08:00
Andreas Schwab
1f20b93a6c Fix missing dependencies and ensure correct CPPFLAGS. 2011-01-16 21:32:07 -05:00
Ulrich Drepper
70181fddf1 Change setgroups to affect all the threads in the process. 2011-01-14 08:42:11 -05:00
Ulrich Drepper
a85b5cb4d4 Fix PLT use due to __libc_alloca_cutoff. 2011-01-13 14:01:56 -05:00
Ulrich Drepper
451f001b50 Handle long lines in host lookups in the right place. 2011-01-13 11:28:17 -05:00
H.J. Lu
f90681487d Fix alignment of AVX safe area on x86-64. 2010-10-13 22:12:03 -04:00
Andreas Schwab
c3758feebf Fix namespace pollution in pthread_cleanup_push. 2010-09-21 10:47:14 -07:00
Ulrich Drepper
4ac42e193f Small optimization of alloca handling. 2010-09-03 04:42:44 -07:00
Dinakar Guniguntala
022f6b8920 Fix x86 pthread_cond_signal() FUTEX_WAKE_OP fallback 2010-08-19 00:46:19 -07:00
Ulrich Drepper
93f17abfb5 Fix last CL. 2010-08-16 07:03:58 -07:00
H.J. Lu
f8392f4004 Add -fno-asynchronous-unwind-tables to initfini.s for i386 2010-08-15 20:09:23 -07:00
Ulrich Drepper
bcad118178 Whitespace fixes. 2010-08-15 10:33:58 -07:00
Alan Modra
bebff237c5 PowerPC64 ABI fixes 2010-08-12 09:19:19 -07:00
Andreas Schwab
e8ee8bdf2a Fix type mismatch 2010-07-06 08:08:46 -07:00
Ulrich Drepper
03e87550e3 Cleanup new tst-abstime program some more. 2010-07-03 14:05:02 -07:00
Ulrich Drepper
145569dc41 Improve new tst-abstime test. 2010-07-02 07:08:07 -07:00
Andreas Schwab
48b42dde17 Add missing file 2010-07-02 10:43:44 +02:00
Andreas Schwab
2983d85ee5 Work around kernel rejecting valid absolute timestamps 2010-07-01 19:07:14 -07:00
Ulrich Drepper
72b6e8c85b Fix build with newer linker. 2010-07-01 19:03:29 -07:00
Takashi Yoshii
4bc93b3033 [sh] Fix incorrect location of ifndef for __ASSUME_FUTEX_CLOCK_REALTIME. 2010-06-14 16:56:22 -07:00
Ulrich Drepper
5d7a6541c2 Fix typo in last commit. 2010-04-09 12:29:18 -07:00
Ulrich Drepper
86a4c67fb9 Implement interfaces to set and get names of threads.
At least the Linux kernel provides field where the kernel originally
stores the command which is executed by the thread.  The value can
subsequently be overwritten.  The added functions allow to do that for
threads, providing and abstraction around the syscalls or /proc file
system accesses needed.
2010-04-09 01:09:24 -07:00
Roland McGrath
f571a994ce Move unwind-resume code from NPTL to sysdeps/gnu. 2010-04-05 20:07:39 -07:00
Luis Machado
7749bf5fe6 Enable common version of pthread_cond_timedwait to use clock_gettime in VDSO 2010-03-24 14:46:03 -07:00
Ulrich Drepper
1d78f2996d Fix a few more problem with the recent setxid changes. 2010-03-09 20:21:12 -08:00
Andreas Schwab
058e9ba9fd Revert to original version of setxid race fix 2010-03-08 17:02:46 +01:00
Ulrich Drepper
66f1b8eeb2 Fix setxid race with thread creation 2010-03-05 11:23:28 -08:00
Michal Schmidt
893549c5a0 Fix pthread_cond_*wait with requeue-PI on i386. 2010-01-15 18:09:14 -08:00
Ulrich Drepper
78ee218599 Actually define and export pthread_mutexattr_[sg]etrobust. 2010-01-14 16:46:32 -08:00
Ulrich Drepper
402cd98775 Actually define pthread_mutex_consistent. 2010-01-14 15:52:46 -08:00
Ulrich Drepper
d3c7e68655 Fix up pthread.h for XPG7. 2010-01-12 12:13:04 -08:00
Ulrich Drepper
f095bb7204 Add support for XPG7 testing.
The header conformance testing code needed extending for XPG7.  This
exposed a few bugs in the headers.  There are more changes to come.
2010-01-09 10:56:41 -08:00
Thomas Schwinge
d34bd80fce Fix s390 startup code in libpthread. 2009-12-22 08:37:33 -08:00
Ulrich Drepper
f01c2359eb Small optimization of pthread_rwlock_init. 2009-12-17 13:49:36 -08:00
Ulrich Drepper
23b8575625 More whitespace fixes. 2009-12-13 11:52:28 -08:00
Ulrich Drepper
5a9e37df22 Fix whitespaces. 2009-12-13 11:51:54 -08:00
Dinakar Guniguntala
75956694f3 Add Requeue-PI support for x86 arch. 2009-12-13 11:50:16 -08:00
Ulrich Drepper
9554ebf2d4 Invalid timeouts in i386 sem_timedwait.
We adjusted nwaiters even though this isn't necessary.
2009-12-12 11:06:23 -08:00
Thomas Schwinge
ebb92a491f SH calling __gmon_start__ from pt-initfini.c. 2009-11-30 06:24:22 -08:00
Andreas Schwab
b55ec98c64 Fix infloop in __pthread_disable_asynccancel on x86_64 2009-11-27 21:37:30 -08:00
Ulrich Drepper
fa214705b9 Once again forgot to add new test file. 2009-11-24 18:22:30 -08:00
Ulrich Drepper
80b3a4ea1c New NPTL POSIX semaphore test. 2009-11-24 16:37:29 -08:00
Roland McGrath
57a299fe47 Use #include instead of duplication for i386 vs i686 dl-sysdep.h in NPTL. 2009-11-22 17:49:21 -08:00
Ulrich Drepper
dfedb126d6 Minor optimizations and cleanups of x86 cond_broadcast. 2009-11-18 06:40:25 -08:00
Dinakar Guniguntala
dd7106b3c6 Update cfi offsets for pthread_cond_broadcast and signal fir x86. 2009-11-18 06:33:23 -08:00
Ulrich Drepper
62616842ec Minimal unwind section size reduction. 2009-11-17 23:13:08 -08:00
Ulrich Drepper
f8c10bb45b Use cfi directives in x86 pthread_cond_{,timed}wait. 2009-11-17 17:59:33 -08:00
Andreas Schwab
13f6812ffb Make name of libgcc_s library configurable 2009-11-03 23:52:01 +01:00
Ulrich Drepper
9c04f7c155 Fix aliasing problem in tst-sem11. 2009-10-30 09:35:20 -07:00
Daniel Jacobowitz
25db0f6ca9 Fix races in setXid implementation. 2009-10-30 01:00:44 -07:00
Roland McGrath
7967983fd4 configure tweaks, support $libc_add_on_config_subdirs 2009-09-15 14:14:42 -07:00
Andreas Schwab
3d60eb1734 Fix malformed #pragma. 2009-09-07 08:31:52 -07:00
Ulrich Drepper
01034d7590 Fix whitespaces. 2009-09-02 19:59:43 -07:00
Suzuki Poulose
38eb613663 Fix timer_create to initialize timer_t properly. 2009-09-02 19:58:50 -07:00
Andrew Stubbs
7812c65b90 SH lowlevellock broken for FUTEX_CLOCK_REALTIME. 2009-08-28 14:57:16 -07:00
Ulrich Drepper
84088310ce Handle AVX saving on x86-64 in interrupted smbol lookups.
If a signal arrived during a symbol lookup and the signal handler also
required a symbol lookup, the end of the lookup in the signal handler reset
the flag whether restoring AVX/SSE registers is needed.  Resetting means
in this case that the tail part of the outer lookup code will try to
restore the registers and this can fail miserably.  We now restore to the
previous value which makes nesting calls possible.
2009-08-25 10:42:30 -07:00
Ulrich Drepper
b42a214c18 Hint to kernel that thread stack memory can be removed. 2009-08-24 16:23:47 -07:00
Ulrich Drepper
2d094b7395 More namespace cleanups. 2009-08-23 13:59:41 -07:00
Ulrich Drepper
cd16986ee3 Rvert accidental checkins. 2009-08-22 17:58:04 -07:00
Andreas Schwab
15efafdf07 Add sigstack handling to Linux ____longjmp_chk on powerpc. 2009-08-22 02:01:51 -07:00
Ulrich Drepper
ae0d545003 Add CFI directives to x86-64 pthread_rwlock_unlock. 2009-08-11 20:47:36 -07:00
Ulrich Drepper
1bc2b97ee4 Add CFI directives to x86-64 pthread_rwlock_{rd,wr)lock. 2009-08-10 11:26:16 -07:00
Andreas Schwab
ec4922395b Fix check for PI mutex in x86-64 pthread_cond_signal
Register eax contains the syscall number, use a different one instead.
2009-08-10 08:10:11 -07:00
Ulrich Drepper
efa0569d2b Optimize x86-64 version of sem_timedwait. 2009-08-08 17:48:09 -07:00
Ulrich Drepper
49eea97b00 Another minor optimization of x86-64 pthread_cond_wait. 2009-08-08 10:21:46 -07:00
Ulrich Drepper
9083bcc5dc Small optimizations to cancellable x86-64 code. 2009-08-07 20:36:53 -07:00
Ulrich Drepper
421665c40a Optimize x86-64 syscall cancellation handling.
The syscall wrappers had to save and restore the syscall parameter
values and return value when calling the functions to enable/disable
cancellation were called.  Not anymore.  The called functions are
special and don't modify any unexpected registers.
2009-08-04 11:03:46 -07:00
Ulrich Drepper
bd03a1afa2 Macro cleanup.
Better definition of the *_NITSET macros.
2009-07-31 22:30:30 -07:00
Ulrich Drepper
22d94a7bc9 Regenerated. 2009-07-31 21:48:59 -07:00
Ulrich Drepper
586fa886ad Fix x86-64 TCB alignment for future processor versions. 2009-07-29 09:01:04 -07:00
Ulrich Drepper
b48a267b8f Preserve SSE registers in runtime relocations on x86-64.
SSE registers are used for passing parameters and must be preserved
in runtime relocations.  This is inside ld.so enforced through the
tests in tst-xmmymm.sh.  But the malloc routines used after startup
come from libc.so and can be arbitrarily complex.  It's overkill
to save the SSE registers all the time because of that.  These calls
are rare.  Instead we save them on demand.  The new infrastructure
put in place in this patch makes this possible and efficient.
2009-07-29 08:33:03 -07:00
Ulrich Drepper
b0948ffdcb Fix bookkeeping in mutex when using requeue_pi. 2009-07-28 09:40:39 -07:00
Ulrich Drepper
e73e694e38 pthread_mutex_unlock needs to use _rel semantics for atomic ops. 2009-07-27 13:46:56 -07:00
Ulrich Drepper
052757bfa6 Revert "Memory ordering in pthread_mutex_{,timed}lock."
This reverts commit 7b7f43bed1.
2009-07-27 13:43:01 -07:00
Ulrich Drepper
7b7f43bed1 Memory ordering in pthread_mutex_{,timed}lock.
All commits should have happened before the mutex lock is taken.
Therefore use the _rel variant of the cmpxchg atomic op.
2009-07-26 13:00:04 -07:00
Ulrich Drepper
01b597da40 Check for .cfi_{personality,lsda} on x86-64.
We need this support in NPTL now to avoid the hand-coded tables.
2009-07-23 17:15:56 -07:00
Ulrich Drepper
f1adf1f490 Fix pthread_cond_timedwait error handling on old kernels. 2009-07-23 16:39:06 -07:00
Ulrich Drepper
c3db953c16 Minor optimizations of last x86-64 condvar changes. 2009-07-20 08:39:47 -07:00
Ulrich Drepper
42e69bcf11 Support requeueing for condvars using PI mutex. x86-64 only.
Add support for the new FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI
options of futex.
2009-07-19 20:56:40 -07:00
Ulrich Drepper
515a8908ce Make x86-64 pthread_cond_timedwait more robust.
It just happens that __pthread_enable_asynccancel doesn't modify the $rdi
register.  But this isn't guaranteed.  Hence we reload the register after
the calls.
2009-07-19 14:54:56 -07:00
Ulrich Drepper
e2dca2fea3 Extend x86-64 __lll_robust_timedlock_wait to use futex syscall with absolute timeout. 2009-07-19 00:00:17 -07:00
Ulrich Drepper
3d77b2687f Add more sem_timedwait tests. 2009-07-18 22:07:25 -07:00
Ulrich Drepper
32c6c342b6 Extend x86-64 pthread_rwlock_timedrdlock to use futex syscall with absolute timeout. 2009-07-18 21:53:26 -07:00
Ulrich Drepper
4c74e6522a Pretty printing last change. 2009-07-18 21:41:52 -07:00
Ulrich Drepper
d979611eb9 Extend x86-64 pthread_rwlock_timedwrlock to use futex syscall with absolute timeout. 2009-07-18 21:35:33 -07:00
Ulrich Drepper
d9201c1365 Remove leftover cfi. 2009-07-18 13:08:21 -07:00
Ulrich Drepper
f8b6cd2182 Extend pthread_cond_timedwait tests. 2009-07-18 12:45:27 -07:00
Ulrich Drepper
e88726b483 Extend x86-64 pthread_cond_timedwait to use futex syscall with absolute timeout. 2009-07-18 12:44:12 -07:00
Ulrich Drepper
92618c954f Optimize x86-64 pthread_cond_timedwait.
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
2009-07-18 08:53:18 -07:00
Ulrich Drepper
30b1954abb Optimize x86-64 pthread_cond_wait.
Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.
2009-07-18 08:09:39 -07:00
Ulrich Drepper
f351f2b756 Extend x86-64 sem_timedwait to use futex syscall with absolute timeout. 2009-07-17 19:08:54 -07:00
Ulrich Drepper
312d667b85 Consistently use symbolic constants. 2009-07-17 16:39:27 -07:00
Ulrich Drepper
aee2665a17 Replace hand-coded unwind tables from x86-64 sem_timedwait. 2009-07-17 16:26:06 -07:00
Ulrich Drepper
0adae46817 Optimize x86-64 sem_wait for uncontested semaphore. 2009-07-17 15:50:23 -07:00
Ulrich Drepper
c3c2f3cf56 Replace hand-coded unwind tables from x86-64 sem_wait. 2009-07-17 15:31:36 -07:00
Ulrich Drepper
63601ccd16 Replace hand-coded unwind tables from x86-64 pthread_once. 2009-07-17 14:45:08 -07:00
Ulrich Drepper
d52c96e73a Replace hand-coded unwind tables from x86-64 pthread_cond_wait. 2009-07-17 12:14:09 -07:00
Ulrich Drepper
bfdb73e145 Implement pthread_sigqueue.
The kernel from 2.3.31 on supports the rt_tgsigqueueinfo syscall.
Use it to implement the non-standard extension which, like
sigqueue, can pass additional data to the receiving thread.
2009-06-12 08:34:02 -07:00
Bryan Kadzban
1828530f09 Fix futex syscall parameter for x86 absolute timeout waits.
This affects only installations compiled for kernels older than 2.6.18.
2009-06-11 11:32:51 -07:00
Ulrich Drepper
e20c4ef0ef libc-cancellation.c cleanup.
The unrelated function __libc_cleanup_routine should not be in
this file.  Move it into its own file.
2009-05-16 15:04:27 -07:00
Ulrich Drepper
cba0ca7925 Unify source for async cancel handling.
Unify all three places where we enable async cancellation for
syscalls.  Optimize a bit.
2009-05-16 14:55:59 -07:00
Ulrich Drepper
a5b8b56df7 Rename nptl/init.c to nptl/nptl-init.c.
Needed to allow overwriting architectures init.c in csu and nptl
individually.  Fixes BZ #9924.
2009-05-16 08:57:49 -07:00
Ulrich Drepper
6dd78596d5 ChangeLog entries incorrectly applied. 2009-05-15 21:03:49 -07:00
Jakub Jelinek
1f3615a1c9 Add missing export of fallocate64 on 32-bit platforms.
Due to a pasto the fallocate64 interface, introduced in glibc 2.10,
isn't exported for 32-bit Linux platforms.  It is too late for this
now so exported them for glibc 2.11.
2009-05-15 21:00:09 -07:00
Jakub Jelinek
9e471dad8e Don't try to cleanup libselinux and libaudit.
Because we are not shutting down the other threads first another
thread might work on a query before the process shuts down.  In this
case the now uninitialized libselinux and libaudit might be used.
Just don't free the resources.  It's not necessary anyway because
the process is about to terminate.
2009-05-15 20:48:08 -07:00
Ulrich Drepper
9437b427ce Fix change to prevent cancel signal in unsafe places.
The bits tested to decide when to delay the return when switching
off async cancel mode were wrong.  Fix that.  Also close a race
condition in pthread_cancel where the bit indicating the cancellation
is unconditionally set even if the cancel type might have changed.
2009-05-15 20:42:36 -07:00
Ulrich Drepper
1a7f254b4b No cancel signal in unsafe places.
When disabling async cancellation we cannot return from the function
call if the thread is canceled.  This happens when the cancel bits
have been set before async cancel is disabled but the signal hasn't
been sent/received yet.  Delay for as long as necessary since
otherwise the signal might be received in an unsafe context.
2009-05-15 19:37:12 -07:00
Jakub Jelinek
40de0fe350 Add missing CHangeLog entry.
2009-01-07  Ulrich Drepper  <drepper@redhat.com>

	* (in_flight_stack): New variable.
	(stack_list_del): New function.  Use instead of list_del.
	(stack_list_add): New function.  Use instead of list_add when adding to
	stack_cache and stack_used lists.
	(__reclaim_stacks): Complete operations on stack_cache and stack_used lists
	when the fork call interrupted another thread.
2009-04-29 18:04:10 +00:00
Ulrich Drepper
d5c157a978 * cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_AND
is available.
	* libc-cancellation.c (__libc_disable_asynccancel): Likewise.
	* sysdeps/x86_64/tls.h: Define THREAD_ATOMIC_AND.
	* sysdeps/i386/tls.h: Likewise.
	(tcbhead_t): Add __private_tm member.
2009-04-27 21:55:49 +00:00
Ulrich Drepper
5efe86507d * sem_open.c (sem_open): Rewrite initialization of initsem to
avoid warnings.
2009-04-26 18:37:05 +00:00
Ulrich Drepper
f521be31b9 * sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
Avoid warning by using may_alias attribute on ptrhack.
2009-04-26 18:06:47 +00:00
Ulrich Drepper
5497de87c9 [BZ #9963]
2009-04-22  Ulrich Drepper  <drepper@redhat.com>
	[BZ #9963]
	* locales/en_PH: Fix LC_PAPER.
	* locales/es_CL: Likewise.
	* locales/es_CO: Likewise.
	* locales/es_MX: Likewise.
	* locales/es_US: Likewise.
	* locales/es_VE: Likewise.
	* locales/fil_PH: Likewise.
	* locales/ik_CA: Likewise.
	* locales/iu_CA: Likewise.
	* locales/tl_PH: Likewise.
2009-04-23 04:30:42 +00:00
Ulrich Drepper
d301a6e167 * pthread_attr_setschedparam.c (__pthread_attr_setschedparam):
Check policy and priority for validity.
	Patch mostly by Zhang Xiliang <zhangxiliang@cn.fujitsu.com>.
2009-04-23 02:29:18 +00:00
Ulrich Drepper
71a5bd3e17 [BZ #5807]
2009-03-15  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5807]
	* string/strlen.c (strlen): Fix omission in the expression to test
	for NUL bytes.
2009-03-15 09:03:38 +00:00
Ulrich Drepper
30991b8bd9 * init.c (nptl_freeres): Compile only for SHARED. 2009-03-10 22:03:24 +00:00
Jakub Jelinek
9920a6b8db * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define
FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and 
FUTEX_BITSET_MATCH_ANY.
2009-03-09  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Define
	FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME and
	FUTEX_BITSET_MATCH_ANY.
2009-03-09 14:19:53 +00:00
Roland McGrath
e965d5147e * Makeconfig (%.v.i): Depend on Makeconfig.
Exclude % lines from initial #-comment removal.
2009-02-28 02:26:51 +00:00
Ulrich Drepper
6cbe890a9d * wctype/wctype.h: The *_l functions are in POSIX 2008.
* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
	wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
	wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
	* sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
	200112L to 200809L.
	* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
	* posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT entries.
	* bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
	_SC_THREAD_ROBUST_PRIO_PROTECT.
	* posix/unistd.h: fexecve is in POSIX 2008.
	* time/time.h: strftime_l is in POSIX 2008.
	* io/sys/stat.h: futimens is in POSIX 2008.
	* string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
	* string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
	strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
	* stdlib/stdlib.h: mkdtemp is in POSIX 2008.
2009-02-26 16:53:30 +00:00
Ulrich Drepper
1f04d00542 * locale/langinfo.h: nl_langinfo_l is in POSIX 2008.
* locale/xlocale.h: Define locale_t type.
	* locale/locale.h: duplocale, freelocale, newlocale, uselocale are
	in POSIX 2008.  Don't define locale_t here.
	* stdlib/monetary.h: strfmon_l is in POSIX 2008.
	* signal/signal.h: Declare psignal and psiginfo for POSIX 2008.
	* stdio-common/psiginfo.c: New file.
	* stdio-common/psiginfo-data.h: New file.
	* stdio-common/psiginfo-define.h: New file.
	* stdio-common/Makefile (routines): Add psiginfo.
	* stdio-common/Versions: Export psiginfo for GLIBC_2.10.
2009-02-26 06:18:24 +00:00
Ulrich Drepper
77db439eaf * ctype/ctype.h: The *_l functions are in POSIX 2008.
* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in
	POSIX 2008.
	/proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
2009-02-26 02:23:50 +00:00
Ulrich Drepper
5be0a68819 * sysdeps/unix/sysv/linux/sysconf.c (__sysconf):
/proc/sys/kenrel/rtsig_max doesn't exist anymore, use getrlimit
	instead.
2009-02-24 23:34:08 +00:00
Ulrich Drepper
8c4a5f4214 * io/sys/stat.h: The lstat functions have been mandatory since 2001. 2009-02-24 22:47:58 +00:00
Ulrich Drepper
4c869eb67e * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).
2009-02-13 23:36:40 +00:00
Ulrich Drepper
7f901dd7ca * sysdeps/pthread/unwind-forcedunwind.c: Encrypt all function
pointer variables.
2009-01-29 20:52:36 +00:00
Ulrich Drepper
cca50323b6 * allocatestack.c (__free_stacks): Renamed from free_stacks.
(__free_stack_cache): Removed.  Change callers to call __free_stacks.
	* init.c (nptl_freeres): New function.
	(pthread_functions): Initialize ptr_freeres to nptl_freeres.
	* pthreadP.h: Don't declare __free_stack_cache.  Declare __free_stacks.
	* sysdeps/pthread/unwind-forcedunwind.c (libgcc_s_handle): New
	variable.
	(pthread_cancel_init): Depend in libgcc_s_handle for decision to
	load DSO.  Assign last.
	(__unwind_freeres): New function.

	* allocatestack.c (__reclaim_stacks): Reset in_flight_stack later
	for better debugging.  No need to use stack_list_add here.
2009-01-29 20:38:04 +00:00
Ulrich Drepper
a7bd183ffe * sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL):
Add "t" to clobber list.
	(INTERNAL_SYSCALL_NCS): Likewise.
2009-01-28 16:11:36 +00:00
Ulrich Drepper
563ee1cb34 * pthread_mutex_lock.c (__pthread_mutex_lock): Remove unused label out. 2009-01-25 17:58:06 +00:00
Ulrich Drepper
f25c7b087f * sysdeps/pthread/list.h (list_add): Initialize new element first.
(list_add_tail): Removed.
2009-01-08 18:32:16 +00:00
Ulrich Drepper
df9293cb16 * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Check and
adjust the buffer alignment.
2009-01-08 00:03:29 +00:00
Ulrich Drepper
5846e22fbf (in_flight_stack): New variable. (stack_list_del): New function. Use instead of list_del. (stack_list_add): New function. Use instead of list_add when adding to stack_cache and stack_used lists. (__reclaim_stacks): Complete operations on stack_cache and stack_used lists when the fork call interrupted another thread. 2009-01-07 23:45:39 +00:00
Ulrich Drepper
3c612057ae * init.c (__pthread_initialize_minimal_internal): Optimize test
FUTEX_CLOCK_REALTIME a bit.
2009-01-04 18:10:04 +00:00
Ulrich Drepper
a9fa090b02 (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME
Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME instead of computing
2009-01-03 23:18:50 +00:00
Ulrich Drepper
19834b42f6 * init.c (__pthread_initialize_minimal_internal): Cheat a bit by
only passing five parameters to FUTEX_WAIT_BITSET call.

	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
	(__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME
	instead of computing relative timeout.
2009-01-03 23:18:34 +00:00
Ulrich Drepper
45f7760695 (__lll_timedlock_wait): Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead of computing relative timeout. 2009-01-03 23:17:21 +00:00
Ulrich Drepper
b2bcd249bf * sysdeps/unix/sysv/linux/i386/sysdep.h: Describe 6th argument
handling.
2009-01-03 20:36:44 +00:00
Ulrich Drepper
cbd8aeb836 * init.c (__pthread_initialize_minimal_internal): Check for
FUTEX_CLOCK_REALTIME flag.
	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait):
	Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead of computing
	relative timeout.
2009-01-03 05:06:46 +00:00
Ulrich Drepper
7dd650d7fc * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define
FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
2009-01-03 03:45:07 +00:00
Ulrich Drepper
217d45cd35 * sysdeps/x86_64/bits/select.h: New file. 2008-12-29 20:16:11 +00:00
Ulrich Drepper
6de79a4991 * pthread_mutex_lock.c (__pthread_mutex_lock): Handle only the
fast path here, for robust/PI/PP mutexes call
	__pthread_mutex_lock_full.  Don't use switch, instead use a series
	of ifs according to their probability.
	(__pthread_mutex_lock_full): New function.
	* pthread_mutex_unlock.c: Include assert.h.
	(__pthread_mutex_unlock_usercnt): Handle only the
	fast path here, for robust/PI/PP mutexes call
	__pthread_mutex_unlock_full.  Don't use switch, instead use a series
	of ifs according to their probability.
	(__pthread_mutex_unlock_full): New function.
	* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
	(__pthread_mutex_lock_full): Define.
2008-12-12 18:46:28 +00:00
Ulrich Drepper
135460f45c [BZ #6545]
* sysdeps/unix/sysv/linux/bits/socket.h (SCM_CREDENTIALS): Make
	available only for __USE_GNU.
2008-12-09 23:25:02 +00:00
Ulrich Drepper
71bb26394a * sysdeps/x86_64/tls.h (tcbhead_t): Add fields reserved for TM
implementation.  Add necessary padding and.
	* descr.h (struct pthread): Increase padding for tcbhead_t to 24
	words.
2008-12-08 23:30:25 +00:00
Ulrich Drepper
9e9b8cb84e (struct pthread): Increase padding for tcbhead_t to 24 words. 2008-12-08 23:25:14 +00:00
Jakub Jelinek
d43b8bddb1 Move 2 ChangeLog entries to correct ChangeLog.
2008-11-24  Arkadiusz Miśkiewicz  <arekm@maven.pl>

	* sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG
	instead of doing things manually.

2008-11-26  Chris Steel  <chris.steel.lnx@googlemail.com>

	* posix/regex_internal.h (build_wcs_upper_buffer):
	Return type is reg_error_t.
2008-12-08 11:32:58 +00:00
Ulrich Drepper
71885b7a91 * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG
instead of doing things manually.
2008-12-06 00:15:34 +00:00
Ulrich Drepper
261d16fece * posix/regex_internal.h (build_wcs_upper_buffer):
Return type is reg_error_t.
2008-12-06 00:13:04 +00:00
Ulrich Drepper
247626f37e * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Define FUTEX_WAIT_BITSET
and FUTEX_WAKE_BITSET.
2008-12-05 22:05:24 +00:00
Ulrich Drepper
da5ac1352d * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Recognize
ESRCH return value.
	(_nss_dns_gethostbyname4_r): Likewise.
	* resolv/res_init.c (__res_vinit): Initialize nscount to zero.
	* sysdeps/posix/getaddrinfo.c (gaih_inet): In case we use
	gethostbyname4_r, we don't have a separate IPv6 status, so copy
	the no_data variable.
2008-12-03 07:30:39 +00:00
Roland McGrath
c0439b95b8 Moved alpha to ports repository.
2008-11-25  Roland McGrath  <roland@redhat.com>

	* sysdeps/alpha, sysdeps/unix/bsd/osf/alpha,
	sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha,
	sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha,
	sysdeps/mach/alpha, sysdeps/mach/hurd/alpha:
	Subdirectories moved to ports repository.
	* configure.in (base_machine): Remove alpha case.
2008-11-26 07:26:32 +00:00
Ulrich Drepper
0e54a7250f [BZ #7009] 2008-11-12 13:41:14 +00:00
Jakub Jelinek
4b23f9bda3 * bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address,
__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type 
of the thread variable instead of void *. 
* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define, 
__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise. 
* include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust 
__libc_tsd_define arguments. 
(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust 
__libc_tsd_address arguments.  Remove union hack. 
* include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments. 
* sunrpc/rpc_thread.c (RPC_VARS): Likewise. 
(__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables): 
Adjust __libc_tsd_{set,get} arguments. 
* ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust 
__libc_tsd_define arguments. 
* locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get} 
arguments. 
* locale/lc-ctype.c (_nl_postload_ctype): Likewise. 
* locale/global-locale.c (__libc_tsd_LOCALE): Adjust type. 
(LOCALE): Adjust __libc_tsd_define arguments. 
* locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get 
arguments. 
(LOCALE): Adjust __libc_tsd_define arguments. 
* sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define 
arguments. 
(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} 
arguments. nptl/ 
* sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define 
arguments. 
(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get} 
arguments.
2008-11-07  Jakub Jelinek  <jakub@redhat.com>

	* bits/libc-tsd.h (__libc_tsd_define, __libc_tsd_address,
	__libc_tsd_get, __libc_tsd_set): Add TYPE argument, use it as the type
	of the thread variable instead of void *.
	* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_define,
	__libc_tsd_address, __libc_tsd_get, __libc_tsd_set): Likewise.
	* include/ctype.h (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
	__libc_tsd_define arguments.
	(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Adjust
	__libc_tsd_address arguments.  Remove union hack.
	* include/rpc/rpc.h (RPC_VARS): Adjust __libc_tsd_define arguments.
	* sunrpc/rpc_thread.c (RPC_VARS): Likewise.
	(__rpc_thread_destroy, rpc_thread_multi, __rpc_thread_variables):
	Adjust __libc_tsd_{set,get} arguments.
	* ctype/ctype-info.c (CTYPE_B, CTYPE_TOUPPER, CTYPE_TOLOWER): Adjust
	__libc_tsd_define arguments.
	* locale/uselocale.c (__uselocale): Adjust __libc_tsd_{set,get}
	arguments.
	* locale/lc-ctype.c (_nl_postload_ctype): Likewise.
	* locale/global-locale.c (__libc_tsd_LOCALE): Adjust type.
	(LOCALE): Adjust __libc_tsd_define arguments.
	* locale/localeinfo.h (_NL_CURRENT_LOCALE): Adjust __libc_tsd_get
	arguments.
	(LOCALE): Adjust __libc_tsd_define arguments.
	* sysdeps/mach/hurd/malloc-machine.h (MALLOC): Adjust __libc_tsd_define
	arguments.
	(tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
	arguments.
2008-11-07 15:07:10 +00:00
Ulrich Drepper
efac1fce62 [BZ #6955]
2008-11-01  Ulrich Drepper  <drepper@redhat.com>
	[BZ #6955]
	* pthread_mutex_lock.c: Add support for private PI mutexes.
	* pthread_mutex_timedlock.c: Likewise.
	* pthread_mutex_trylock.c: Likewise.
	* pthread_mutex_unlock.c: Likewise.
	Patch mostly by Ben Jackson <ben@ben.com>.
2008-11-01 19:51:41 +00:00
Ulrich Drepper
bf837fa36f [BZ #6843]
2008-10-31  Ulrich Drepper  <drepper@redhat.com>
	[BZ #6843]
	* sysdeps/pthread/gai_misc.h (__gai_create_helper_thread):
	Increase stack size for helper thread.
2008-11-01 00:20:07 +00:00
Ulrich Drepper
208bc83670 * misc/syslog.c (openlog_internal): Fix __have_sock_cloexec
initialization.
2008-10-22 21:45:13 +00:00
Ulrich Drepper
17f8b4a955 . 2008-10-06 16:48:17 +00:00
Ulrich Drepper
af62b44029 * sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrier
to force runp->refcntr to be read from memory.
2008-10-06 16:47:10 +00:00
Andreas Jaeger
2458c74851 * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock,
lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, 
lll_timedlock, lll_robust_timedlock, lll_unlock, 
lll_robust_unlock): Promote private to int.
2008-09-08  Richard Guenther  <rguenther@suse.de>

	* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock,
	lll_robust_lock, lll_cond_lock, lll_robust_cond_lock,
	lll_timedlock, lll_robust_timedlock, lll_unlock,
	lll_robust_unlock): Promote private to int.
2008-09-23 18:50:28 +00:00
Ulrich Drepper
965805e888 * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.
* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
2008-08-15 22:35:53 +00:00
Ulrich Drepper
bd7f48571d * nscd/connections.c (nscd_init): Type if preprocessor directive.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PACCEPT):
	Define.
2008-07-30 16:33:19 +00:00
Ulrich Drepper
7b91359b2c * Makeconfig: Define pie-ccflag and PIE-ccflag variables.
* elf/Makefile: Use pie-ccflag variable.
	* nscd/Makefile: Likewise.
	* sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.
2008-07-26 22:22:24 +00:00
Ulrich Drepper
619cc2f69d * scripts/gen-as-const.awk: Generate more widely usable code by
using 64-bit arithmetic.
2008-07-26 16:35:21 +00:00
Ulrich Drepper
1311b164df * stdio-common/printf_fp.c (___printf_fp): Give wide outout code
the same treatment as narow output code in last patch.
2008-07-26 16:32:59 +00:00
Ulrich Drepper
8ccf22f934 * include/rpc/clnt.h: Declare __libc_clntudp_bufcreate and
__libc_clntudp_bufcreate_internal.
	* include/sys/socket.h: Declare __have_sock_cloexec.
	* socket/Makefile (aux): Add have_sock_cloexec.
	* socket/have_sock_cloexec.c: New file.
	* sunrpc/clnt_udp.h (clntudp_bufcreate): Now a wrapper around
	__libc_clntudp_bufcreate.
	(__libc_clntudp_bufcreate): Former implementation of clntudp_bufcreate
	which takes an additional parameter.  Create socket with non-blocking
	mode and close-on-exec flag set, if wanted.
	* sunrpc/Versions: Export __libc_clntudp_bufcreate@GLIBC_PRIVATE.
	* nis/ypclnt.c (yp_bind_client_create): Use __libc_clntpudp_bufcreate
	instead of clntudp_create.  The socket has already the close-on-exec
	flag set if SOCK_CLOEXEC is defined.
2008-07-25 17:06:50 +00:00
Ulrich Drepper
5a337776da * nscd/grpcache.c (cache_addgr): Correctly compute size of
fixed-size portion of the record.
	* nscd/servicescache.c (cache_addserv): Likewise.
	* nscd/pwdcache.c (cache_addpw): Likewise.
	* nscd/initgrcache.c (addinitgroupsX): Likewise.
2008-06-12 16:16:38 +00:00
Ulrich Drepper
10bb97c793 (tests): Add tst-rwlock2a. 2008-05-31 08:56:14 +00:00
Ulrich Drepper
e4d6e7f5c0 * sysdeps/pthread/pthread.h: Fix typo in comment. 2008-05-29 14:53:01 +00:00
Ulrich Drepper
d6296e885d * sysdeps/pthread/createthread.c (do_clone): Pass accurate length
of CPU set to the kernel.
2008-05-29 05:53:30 +00:00
Ulrich Drepper
7c0ad1645f (do_clone): Pass accurate length of CPU set to the kernel. 2008-05-29 05:53:18 +00:00
Ulrich Drepper
62605cbfcb Remove useless more "if" tests before "free".
* include/inline-hashtab.h (htab_delete): Likewise.
	* libio/freopen.c (freopen): Likewise.
	* libio/freopen64.c (freopen64): Likewise.
	* locale/programs/ld-collate.c (collate_read): Likewise.
	* misc/fstab.c (libc_freeres_fn): Likewise.
	* posix/glob.c (globfree): Likewise.
2008-05-27 06:04:07 +00:00
Ulrich Drepper
4b2c85c0b9 * tst-typesizes.c: Explicitly check __SIZEOF_PTHREAD_* constants.
David S. Miller  <davem@davemloft.net>
2008-05-26 17:02:55 +00:00
Jakub Jelinek
b72f5692e8 2008-05-20 Jakub Jelinek <jakub@redhat.com>
David S. Miller  <davem@davemloft.net>
	* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
2008-05-21 06:47:47 +00:00
Jakub Jelinek
3b15b590b7 * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
2008-05-19  Jakub Jelinek  <jakub@redhat.com>

	* elf/soinit.c (__EH_FRAME_BEGIN__): Remove.
2008-05-20 07:42:00 +00:00