summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps
AgeCommit message (Collapse)Author
2012-06-19nptl: sh: fix race condition in lll_wait_tidStas Sergeev
Make a local copy of the tid value to avoid a race condition, as the value could have been changed to 0, thus using a pointer it would have been passed to the lll_futex_wait modified. Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2012-06-15NPTL: rename __new_sem_* to sem_*Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15nptl: remove sigaction, sigprocmask, and sigfillset from libpthreadAustin Foxley
Having them defined in both places was causing errors with static linking Signed-off-by: Austin Foxley <austinf@cetoncorp.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15enable the common code for NPTLPeter S. Mazinger
the generic open, close, waitpid, read, write are good for NPTL too no good reason to have the same sleep in both libc and libpthread (NPTL) no good reason to add sigwaitinfo, sigtimedwait and sigwait to libpthread (NPTL) Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15fork: do not add fork() to libpthreadPeter S. Mazinger
No need for __libc_fork either. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15make NPTL's getpid behave similar to the common onePeter S. Mazinger
make __getpid static provide getppid alias if needed remove unneeded libc_hidden_proto Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15add simplified __sigemptyset for internal usePeter S. Mazinger
Use __sigemptyset instead of sigemptyset. Remove hidden sigemptyset. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15jmp-unwind.c: add hidden _longjmp_unwindPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15Makefile.commonarch: use proper CFLAGS for jmp-unwind.cPeter S. Mazinger
Filter out libpthread CFLAGS Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15unwind-{resume,forcedunwind}.c: add missing prototypesPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15fix a bunch of build warningsPeter S. Mazinger
Added attribute_noreturn even if it has return at the end of function Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15change __asm to __asm__ and __volatile to __volatile__Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15cleanup fork()Peter S. Mazinger
Keep only fork (and it's hidden variant) and __libc_fork. Common __libc_fork prototype in unistd.h. Get rid of __fork, by changing HIDDEN_JUMPTARGET(__fork) to use fork I can't see the reason to have fork() in libpthread, but kept it for now making __fork static in these files. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15move *longjmp related prototypes to setjmp.hPeter S. Mazinger
Provide common prototypes for __longjmp, __libc_longjmp, __libc_siglongjmp _longjmp_unwind, __libc_unwind_longjmp in setjmp.h in preparation for use in LT new Add __longjmp to h8300 and i960 Make common longjmp.c good for NPTL Guard _longjmp_unwind use in sh's longjmp.c for NPTL (I think sh could use the common one) Remove unneeded attribute_noreturn, prototype provides it already Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15no need for hidden sigtimedwaitPeter S. Mazinger
remove unneeded attribute_hidden too, as the prototype provides it Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-03-26nptl: fix compiler warning due to missing prototypeCarmelo Amoroso
libpthread/nptl/sysdeps/pthread/pt-longjmp.c: In function 'longjmp': libpthread/nptl/sysdeps/pthread/pt-longjmp.c:27:3: warning: implicit declaration of function '__libc_longjmp' [-Wimplicit-function-declaration] libpthread/nptl/sysdeps/pthread/pt-longjmp.c:28:1: warning: 'noreturn' function does return [enabled by default] Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2012-03-26nptl: fix compiler warning due to unused-but-set-variableCarmelo Amoroso
gcc 4.6.x raises useful warnings due to unused-but-set-variable, This patch fixes the following one by using properly preprocessor guard libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c: In function '__pthread_cond_timedwait': libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c:103:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2012-01-29nptl_db: handle SUSv4-OBBernhard Reutner-Fischer
pthread_getconcurrency / pthread_setconcurrency is OBSOLETE in SUSv4 so disable pthread debug support too Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-01-28buildsys: fixup sigaction handlingBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-01-27libc_arm: avoid multiple version of __aeabi_unwind_cpp_pr dummy codeCarmelo Amoroso
Do not pollute libraries with its own implementation of __aeabi_unwind_cpp_pr1 code. Just add it to uclibc_nonshared.a archive and share it. This fixes build issue with static linking of application due to multiple symbol definition in libgcc_eh-a and libpthread.a or librt.a Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2012-01-15libc: build abort with unwind-info for backtraceBernhard Reutner-Fischer
If backtrace support is turned on, build raise() and abort() with unwind info (fixup 4c9b7f3c21ff21c199e54bfad2fdf3445fa4573d). Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-01-13libc: allow to backtrace out of abort callCarmelo Amoroso
Build raise and abort function with dwarf2 info by using -fasynchronous-unwind-tables to make backtrace() working across a call to abort. A scenario where it could be useful is within a signal handler that wants to dump a backtrace when catching some signal (i.e SIGABRT). Without having abort & raise built with DWARF2 information, it is not possible for the libgcc stack unwinder to walk through the call stack out of the abort/raise function. Impacts in terms of size are really limited Current text data bss dec hex filename 164 0 0 164 a4 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.os 164 0 0 164 a4 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.oS 220 24 4 248 f8 ./libc/stdlib/abort.os With (-fasynchronous-unwind-tables) text data bss dec hex filename 216 0 0 216 d8 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.os 216 0 0 216 d8 ./libpthread/nptl/sysdeps/unix/sysv/linux/raise.oS 280 24 4 308 134 ./libc/stdlib/abort.os Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> Acked-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-11-24nptl: add missing pt-tempname.cBernhard Reutner-Fischer
fix bd3c1a2495cbcb51b606f8e4892fcd127f91e645 forgotten file. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-11-17misc: hide __gen_tempnameBernhard Reutner-Fischer
fix signed vs. unsigned comparison warnings while at it Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-06-14buildsys: pt-initfini.s depends on uClibc_config.hBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-06-13nptl/pthread: Correct path for machine specific pt-initfini.cKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-06-13ctor/dtor nptl: Fix init and fini function compilationKhem Raj
We need to define the rules for .S files so it gets the include paths some architectures like mips include headers Some architectures e.g. SH have their own version of pt-initfini.c so look for that first before resorting to generic version of pt-initfini.c Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-05-31NPTL: Fix CTOR_DTORBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-05-13unwind.h: Move to libc/sysdeps from nptl sysdepsKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-05-11commentary typo fixBernhard Reutner-Fischer
use cancellation (with two 'l') uniformly. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-05-11lll: avoid shadow warningsBernhard Reutner-Fischer
use __ret uniformly to avoid shadow warnings as seen on x86_64. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-05-11libubacktrace: mv unwind.h to includeBernhard Reutner-Fischer
Fixes compilation if NPTL is off. I hope this doesn't break ARM EABI but cannot check ATM. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-03-09remove trailing ';' from _syscallX()Peter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-08nptl: fix compilation on x86_64William Pitcock
This commit gives us a fully functioning NPTL on x86-64 by using the GOTOFF macro as needed. Signed-off-by: William Pitcock <nenolod@dereferenced.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-03-03add missing prototypesPeter S. Mazinger
Add some missing prototypes Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03use common sigthread.hPeter S. Mazinger
NPTL build did not use the correct bits/sigthread.h, use a common version avoiding this. Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2011-03-03add missing prototypesPeter S. Mazinger
Add some missing prototypes Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
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-02-02arm: fix the static link problem for ARM due to undefined __tls_get_addrNitin Garg
Signed-off-by: Nitin Garg <nitingarg98@gmail.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.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-18nptl: If DOPIC is set then we missed a rule to generate .os variants for ↵Khem Raj
pt-*.c files Signed-off-by: Khem Raj <raj.khem@gmail.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-12-01libc_sh: add __tls_get_addr to static libc (SH)Filippo Arcidiacono
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>
2010-12-01Revert "libc_tls: Do not include generic libc-tls from arch specific ↵Carmelo Amoroso
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>
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>