summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/unix
AgeCommit message (Collapse)Author
2011-02-25nptl:arm: add a wrapper for .cfi_sections pseudo-opsCarmelo Amoroso
ARM disables by default the support for ASM CFI directives. Anyway using an old version of binutils that does not support some new pseudo-op, the build fails as below: AS libpthread/nptl/sysdeps/unix/sysv/linux/close.oS libpthread/nptl/sysdeps/unix/sysv/linux/close.S: Assembler messages: libpthread/nptl/sysdeps/unix/sysv/linux/close.S:9: Error: unknown pseudo-op: `.cfi_sections' The problem is that the .cfi_sections pseudo should be wrapped by a macro that expands to nothing when the CFI is off. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> CC: Khem Ray <ray.khem@gmail.com>
2011-02-09arm: mv nptl specific atomic impl to common placeBernhard Reutner-Fischer
Thanks to Nitin Garg for notincing! Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-01-29nptl/mips64: Fix build when using mips64 and ABIs other than o32Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-01-04nptl: get rid of preprocessor warning when __ASSUME_TGKILL is not definedCarmelo Amoroso
A sample of the warning reported while building for ARM that has not __ASSUME_TGKILL defined. libpthread/nptl/sysdeps/unix/sysv/linux/raise.c: In function 'raise': libpthread/nptl/sysdeps/unix/sysv/linux/raise.c:33:5: warning: "__ASSUME_TGKILL" is not defined Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-12-29sparc: fix linking issue with __syscall_error.cAustin Foxley
Finally got around to testing out latest master and noticed that some buildsystem work last summer broke shared-builds of nptl on sparc. A version of __syscall_error.c needs to be linked into both libpthread and librt Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-12-09nptl: fix Unwind_Resume PLT callsTimo Teräs
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>
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 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: 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-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: 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-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-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-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-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-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-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>
2010-04-12nptl/sysdeps/unix/sysv/linux/i386: enable USE___THREAD for assemblerTimo Teräs
NPTL defines errno as __thread variable. Define USE___THREAD so proper errno assignment is used in assembly files. This fixes segfault while building python. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Natanael Copa <natanael.copa@gmail.com> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-07pthread_{attr_,}{s,g}etaffinity: cleanup symbol namesBernhard Reutner-Fischer
fixes typo in a1ee5b32fc698297149c770417354441ee62701e which forgot to rename __pthread_attr_getaffinity_np to pthread_attr_getaffinity_np. Thanks to Andre DRASZIK for mentioning my omission. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-02-23get rid of extra variables for nptl pregen altogetherAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-22nptl/headers: Convert the makefile targets into variables.Khem Raj
* Introduce pregen-headers-y which is list of generated headers during the build and add this to pregen target in top level makefile. Also add nptl_headers, nptl_arch_headers, nptl_linux_headers to this if compiling with nptl. * Replace pthread_pregen var with pregen-headers-y. * Make nptl_headers, nptl_arch_headers, nptl_linux_headers variables instead of sub targets. Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-19Get x86_64 compile to succeed.Khem Raj
* The changes to clone.S needs testing Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-19sparc: also needs generic version of lowlevelrobustlockAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-19nptl_sh: Fix build problem with FUTEX_CLOCK_REALTIMECarmelo Amoroso
This patch fixes a build problem into the lowlevellock.S when support FUTEX_CLOCK_REALTIME (kernel newer than 2.6.29). __have_futex_clock_realtime symbol is not defined when set __ASSUME_FUTEX_CLOCK_REALTIME. The same is on i386 arch. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-02-19x86_64: compile pthread it's own version of __syscall_errorAustin Foxley
also fix up clone.S from sync Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-19more fixes for x86_64 nptlAustin Foxley
also cleanup some PIC (should be __PIC__) that snuck in Signed-off-by: Austin Foxley <austinf@cetoncorp.com>