summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps
AgeCommit message (Collapse)Author
2010-11-29libc_tls: Do not include generic libc-tls from arch specific implementationCarmelo Amoroso
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>
2010-11-11ntpl: fix static linking by not leaking SSP_ALL_CFLAGSNatanael Copa
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>
2010-10-27mips: fix errno setting after syscallAlexander Gordeev
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>
2010-10-22*: inline constant __sig{add,del}set and __sigismemberDenys Vlasenko
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>
2010-08-05Revert "nptl i686: fix pthread_cond_wait.S compilation"Bernhard Reutner-Fischer
This reverts commit f71c0d8af11252f119fad04938ddd5501a7df21a.
2010-08-05nptl: fix x86 assembly PIC relocationsTimo Teräs
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>
2010-08-02nptl: _POSIX_IPV6 depends on UCLIBC_HAS_IPV6Bernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-07-30nptl: fix LFS handlingBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-07-30nptl: do not define _POSIX_SPAWN since its not implementedNatanael Copa
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>
2010-07-15nptl: (librt) powerpc32's PSEUDO_RET needs __syscall_errorBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-07-14nptl: remove superfluous =1 from definesBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-07-14nptl: x86_64: fix compilation of unwinderBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-07-14nptl i686: fix pthread_cond_wait.S compilationRoman I Khimov
__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>
2010-07-06nptl: disregard generated tcb-offsets.cBernhard Reutner-Fischer
thanks to khem for noticing Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-07-06nptl: Filter out gen_tcb-offsets.c from CSRC for libpthread.Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-07-06nptl: fix buildsysBernhard Reutner-Fischer
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>
2010-07-06nptl: fix subdirs handlingBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-07-06nptl: simplify buildsysBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-06-30mips/syscall-error: Choose the correct version for setting up errno.Khem Raj
* 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>
2010-06-30nptl/generic: Build generic libc-tls.c for non-mips architectures.Khem Raj
* 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>
2010-06-29arm/nptl: Use the old C version of _Unwind_Resume in thumb mode.Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-06-24nptl: arm: make it compile againBernhard Reutner-Fischer
blame 6cbeaa5dd11a1b506a8a97b4dfb4e632240f9953 Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-06-24use uniform form of C99 keywordsBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-06-23arm/nptl: Sync unwinding with glibc.Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-06-23arm/nptl: sysdep-cancel.h needs syscall handing for EABIKhem Raj
* 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>
2010-06-21avoid using c99 syntaxMirko Vogt
Signed-off-by: Mirko Vogt <dev@nanl.de> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-06-17nptl: i386 needs atomic.h for atomic_exchange_acqBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-06-13nptl: fix symlinking headersBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-06-11silence some warnings about missing prototypesBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-05-19mips: Add vfork to libcKhem Raj
* 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>
2010-05-19mips/bits/pthreadtypes.h: Re-include sgidefs.hKhem Raj
* 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>
2010-05-09powerpc/Makefile.arch: Add objclean and headers_clean targets for NPTL.Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-05-09powerpc: Add TLS and NPTL supportKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-05-07mips/Makefile.arch: Remove -f option to $(do_awk)Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-05-03nptl: use arch-specific pthread_cond_timedwait and pthread_cond_wait on x86_64Roman I Khimov
Generic ones were broken on x86_64, pthread/ex2 test failed while pthread/ex5 worked fine. So use arch-specific functions and fix linkage failure with __pthread_mutex_cond_lock_adjust. Signed-off-by: Roman I Khimov <khimov@altell.ru> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-05-03nptl: use arch-specific cancellation routines for x86_64Roman I Khimov
They were present in sources, but not compiled in. Generic routines are broken badly on x86_64, even basic threading test like pthread/ex1 didn't work with them. Signed-off-by: Roman I Khimov <khimov@altell.ru> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-27nptl: mips needs updated clone() implementationAndreas Schultz
Signed-off-by: Andreas Schultz <andreas.schultz@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-27libpthread/x86_64: fix cleanRoman I Khimov
Signed-off-by: Roman I Khimov <khimov@altell.ru> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-25enable building __fcntl_nocancel, as it used unconditionally nowAustin Foxley
also sync up not-cancel.h headers between all three thread libraries Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-25nptl: Harmonize objects and headers makefile clean targetsCarmelo Amoroso
Update all the nptl clean targets (both objects and headers) to use the new syntax using CLEAN_<full_path> and HEADER_<full_path>. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-04-25nptl: Remove compiler warning due to old-style function definitionCarmelo Amoroso
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-04-22nptl: fix warnings of shadowing __selfTimo Teräs
Stdio locking macroes do: void *__self = THREAD_SELF; But THREAD_SELF uses __self also internally which causes shadowing warnings. Just rename the outer variable for now. Might be an idea to convert the macroes to static inline functions. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-16nptl: mark forwarded functions protectedTimo Teras
The libc stubs should never override the libpthread provided functions inside libpthread, otherwise the struct pthread_functions that is used by the forwarder stubs goes bad. Signed-off-by: Timo Teras <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-16libc: remove libc weak __pthreads_* wrappersTimo Teras
It is not possible to override for libpthread to override the weak libc definitions. This has never worked in uclibc, and does no longer work in glibc either (unless you use LD_DYNAMIC_WEAK). The proper thing to do is have weak prototypes in libc, and definitions in libpthread only. This way libc runs even if those functions are not defined, but just needs to protect against the NULL values (done by implementing __uclibc_maybe_call). This fix the problems if libc is linked before libpthread or if libpthread is pulled by a dependency library. Signed-off-by: Timo Teras <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-16Revert "nptl: mark symbols with libc forwarder hidden"Timo Teras
This reverts most of commit 1610762362e651f86ca284ac59a1d7ec88034e4e. Marking the symbols hidden is wrong, because libc accesses the pthreads internal symbols for internal locking. Signed-off-by: Timo Teras <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-15PTR_DEMANGLE: add documentationBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-04-14nptl: turn pointer demangling offTimo Teräs
Currently the stub calls would demangle the pointer that is never mangled. Alternatively, we could sync nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c with new glibc version that properly mangles the pointers, but that would need more validation to make sure that all struct pthread_function readers do demangling. uclibc currently does not do pointer mangling everywhere so it's more consistent to just disable it here too. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-14nptl: mark symbols with libc forwarder hiddenTimo Teräs
Add attribute_hidden to all symbols having libc forwarder. This prevents recursive self calls which would happen if libc is before libpthread in linking order: the forwarder functions would call itself via the function table, since the libpthread symbols would get overwritten with libc ones. This has not been a problem in glibc since there these symbols are marked hidden with linker version-script. Since we don't use one, we need to mark these explicitly. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-12provide prototype for internal helperBernhard Reutner-Fischer
i386 was missing a prototype for __tls_get_addr() Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-04-12nptl/sysdeps/unix/sysv/linux/i386: cleanup -DUSE___THREADNatanael Copa
Remove the -DUSE___THREAD from specific assembler files since its used everywhere anyway. This is a cleanup after 447a9d1cc181395c3e2ea77ea88e45dee4b30ce6 Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>