summaryrefslogtreecommitdiffstats
path: root/libpthread
Commit message (Collapse)AuthorAgeFilesLines
...
* nptl: fix Unwind_Resume PLT callsTimo Teräs2010-12-092-7/+15
| | | | | | | | | | My change a49b3a18e463cbe8c94c41501e386e7f4c61609e fixed two Unwind_Resume calls to go via PLT to avoid text relocations for PIC builds. However, it looks the reason for upstream not using PLT calls is that ebx gets clobbered. So we need to reload it. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* libc_sh: add __tls_get_addr to static libc (SH)Filippo Arcidiacono2010-12-012-1/+32
| | | | | | | | | | Add __tls_get_addr function to static libc allowing to handle local dynamic TLS access model. On SH, linker optimizations are not required, so __tls_get_addr can be called even in statically linked binaries. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* Revert "libc_tls: Do not include generic libc-tls from arch specific ↵Carmelo Amoroso2010-12-012-0/+2
| | | | | | | | | | | | | implementation" This reverts commit 0c468129356f5ce6780e7369c271d74631ae03ba. Indeed recent updates into buildsys managed to filter-out generic implementation when arch specific one is defined, so duplicated symbols into the libc.a In the meanwhile, do a minor fix into mips version not using relative path to include <generic/libc-tls.c> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* libc_tls: Do not include generic libc-tls from arch specific implementationCarmelo Amoroso2010-11-292-2/+0
| | | | | | | | | | | libpthread/nptl/sysdeps/generic/libc-tls.c is built as well, so it does not need that arch specific version of libc-tls.c (MIPS and ALPHA) includes it. The arch libc-tls.s is aimed to provide the implementation of __tls_get_addr for the static libc.a, because on these archs the linker relaxations are not required and it could be possible to have local-dynamic access models in static libraries as well. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* ntpl: fix static linking by not leaking SSP_ALL_CFLAGSNatanael Copa2010-11-1115-16/+0
| | | | | | | | | | | | | | | The SSP_ALL_CFLAGS in nptl arch CFLAGS leaks out and forces things like dl-support.c, brk.c, sbrk.c memcpy, etc to be built with -fstack-protector-all. This is bad when linking statically since initializing TLS will call those functions before SSP is initialized. The libpthread itself will still be built with -fstack-protector-all due to CFLAGS-nptl has SSP_ALL_CFLAGS in libpthread/nptl/Makefile.in Thanks to Timo Teras for helping with this. Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* microblaze: thread supportSteven J. Magnani2010-11-102-0/+123
| | | | | | | Header files needed to build linuxthreads.old for microblaze. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* mips: fix errno setting after syscallAlexander Gordeev2010-10-272-3/+4
| | | | | | | | | | | | | | | If there was an error during syscall then after it's completion a3 register holds a non-zero value and v0 holds an actual error code which should be saved in errno. This can be achieved by calling __syscall_error with the value from v0 as a parameter. So this value should be stored in a0, but the appropriate assembly instructions are missing. Fixed this now by adding "move a0, v0". I think it was once fixed by 58c5f8ba4cdf62342d05a546d15404cbbb3c4e07 but then something went wrong. Again... Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* *: inline constant __sig{add,del}set and __sigismemberDenys Vlasenko2010-10-221-1/+1
| | | | | | | | | | | | text data bss dec hex filename - 318 4 0 322 142 libc/pwd_grp/lckpwdf.o + 312 4 0 316 13c libc/pwd_grp/lckpwdf.o - 166 0 1 167 a7 libc/stdlib/abort.o + 157 0 1 158 9e libc/stdlib/abort.o - 42 0 0 42 2a libc/sysdeps/linux/common/pause.o + 27 0 0 27 1b libc/sysdeps/linux/common/pause.o Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* nptl: fix static linkingNatanael Copa2010-09-091-2/+2
| | | | | | | | We need dl-tls.c for static libc or we will get missing symbols when linking thinkgs like openssl static. Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
* nptl: fix calling convention for __pthread_mutex_cond_lockTimo Teräs2010-08-172-3/+10
| | | | | | | | | | | | | | | | | | The assembly versions of pthread_cond_wait calls __pthread_mutex_cond_lock and __pthread_mutex_cond_lock_adjust using internal calling convention (which differs from default calling convention at least on x86). Thus these two functions must be defined with internal_function or the call sequence goes wrong. __pthread_mutex_cond_lock resides in sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c, but it does evil macro definitions and includes pthread_mutex_lock.c, so we need to add some extra kludge to pthread_mutex_lock.c to get the prototypes correctly. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* Revert "nptl i686: fix pthread_cond_wait.S compilation"Bernhard Reutner-Fischer2010-08-051-1/+0
| | | | This reverts commit f71c0d8af11252f119fad04938ddd5501a7df21a.
* nptl: fix x86 assembly PIC relocationsTimo Teräs2010-08-052-2/+2
| | | | | | | | Unwind_Resume needs to be called via PLT. Most calls are already proper, this fix the remaining two problems. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: _POSIX_IPV6 depends on UCLIBC_HAS_IPV6Bernhard Reutner-Fischer2010-08-021-0/+8
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: fix LFS handlingBernhard Reutner-Fischer2010-07-301-1/+3
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: do not define _POSIX_SPAWN since its not implementedNatanael Copa2010-07-301-0/+2
| | | | | | | | Building things like vlc checks if _POSIX_SPAWN is defined. Since posix_spawn is not implemented we dont define it. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
* nptl: (librt) powerpc32's PSEUDO_RET needs __syscall_errorBernhard Reutner-Fischer2010-07-151-0/+3
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: remove superfluous =1 from definesBernhard Reutner-Fischer2010-07-1413-84/+84
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: x86_64: fix compilation of unwinderBernhard Reutner-Fischer2010-07-142-1/+221
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl i686: fix pthread_cond_wait.S compilationRoman I Khimov2010-07-141-0/+1
| | | | | | | | | | | | | | __i686 is a gcc-defined macro, so i686 build failed with: libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S: Assembler messages: libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:572: Error: junk at end of line, first unrecognized character is `1' libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:573: Error: junk at end of line, first unrecognized character is `1' libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:574: Error: junk at end of line, first unrecognized character is `1' libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:575: Error: junk at end of line, first unrecognized character is `.' libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:576: Error: junk at end of line, first unrecognized character is `1' libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:579: Error: expected comma after name `' in .size directive Signed-off-by: Roman I Khimov <khimov@altell.ru> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: disregard generated tcb-offsets.cBernhard Reutner-Fischer2010-07-061-1/+1
| | | | | | thanks to khem for noticing Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: Filter out gen_tcb-offsets.c from CSRC for libpthread.Khem Raj2010-07-061-0/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nptl: fix buildsysBernhard Reutner-Fischer2010-07-0625-1015/+573
| | | | | | | | | Now automatically picks the correct (arch and subarch specific) impls in favour of generic impls. make O=/tmp/objs PREFIX=/my/sysroot -j works now as expected (both out-of-tree as well as parallel-safe). Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: fix subdirs handlingBernhard Reutner-Fischer2010-07-0611-5/+70
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: simplify buildsysBernhard Reutner-Fischer2010-07-0613-308/+67
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* mips/syscall-error: Choose the correct version for setting up errno.Khem Raj2010-06-301-0/+1
| | | | | | | | | | | * Current function is a C protype and PSEUDO macro does not transfer syscall return parameters to correct argument registers for a C function. This causes problem with syscalls setting wrong value for errno when they encounter an error. * Fixes PR/2089 for mips/nptl Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nptl/errno: Use a separate __errno_location for libpthread.Khem Raj2010-06-302-0/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nptl/generic: Build generic libc-tls.c for non-mips architectures.Khem Raj2010-06-301-2/+3
| | | | | | | | * mips has it own variant. * we dont need to build dl-tls.c here its already built as part of ldso. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* arm/nptl: Use the old C version of _Unwind_Resume in thumb mode.Khem Raj2010-06-292-1/+23
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* test/nptl: move eintr.c to where it belongsBernhard Reutner-Fischer2010-06-251-89/+0
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: arm: make it compile againBernhard Reutner-Fischer2010-06-242-0/+10
| | | | | | blame 6cbeaa5dd11a1b506a8a97b4dfb4e632240f9953 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* use uniform form of C99 keywordsBernhard Reutner-Fischer2010-06-2429-159/+159
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* intl, nptl_db: fix prerequisitesBernhard Reutner-Fischer2010-06-241-2/+2
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* fix race condition when generating linker scriptsBernhard Reutner-Fischer2010-06-241-2/+3
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* arm/nptl: Sync unwinding with glibc.Khem Raj2010-06-232-94/+116
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* arm/nptl: sysdep-cancel.h needs syscall handing for EABIKhem Raj2010-06-231-25/+142
| | | | | | | * Synced with eabi version of sysdep-cancel.h from glibc. we have been using OABI version which does not work Signed-off-by: Khem Raj <raj.khem@gmail.com>
* avoid using c99 syntaxMirko Vogt2010-06-216-6/+12
| | | | | Signed-off-by: Mirko Vogt <dev@nanl.de> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
* nptl: i386 needs atomic.h for atomic_exchange_acqBernhard Reutner-Fischer2010-06-171-0/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: fix symlinking headersBernhard Reutner-Fischer2010-06-132-22/+17
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: avoid spurious rebuilds of libpthread*.aBernhard Reutner-Fischer2010-06-121-2/+0
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: handle PTHREADS_DEBUG_SUPPORT properlyBernhard Reutner-Fischer2010-06-121-4/+3
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: fix race condition when generating libpthread.soBernhard Reutner-Fischer2010-06-121-3/+3
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: remove relocation in pthread_rwlock_init()Bernhard Reutner-Fischer2010-06-111-1/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* silence some warnings about missing prototypesBernhard Reutner-Fischer2010-06-114-5/+4
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: fix wrong path to nptl_dbBernhard Reutner-Fischer2010-06-111-1/+1
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* buildsys: fix clean vs. headercleanBernhard Reutner-Fischer2010-06-111-2/+2
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* nptl: fix for !ipv4 && !ipv6Bernhard Reutner-Fischer2010-06-082-7/+8
| | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* mips: Add vfork to libcKhem Raj2010-05-191-3/+10
| | | | | | | | | * When using NPTL get clone.o from nptl. * Only use vfork if syscall is there. * Add libc_a_SSRC to LINUX_LIBC_ARCH_OBJ. * Use CLEAN_* for clean target. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* mips/bits/pthreadtypes.h: Re-include sgidefs.hKhem Raj2010-05-191-0/+1
| | | | | | | | * This was dropped accidently in last merge removal meant a lot of warnings about undefined _ABI64. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* powerpc/Makefile.arch: Add objclean and headers_clean targets for NPTL.Khem Raj2010-05-091-0/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* powerpc: Add TLS and NPTL supportKhem Raj2010-05-0921-37/+180
| | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>