summaryrefslogtreecommitdiff
path: root/libc/misc/pthread
AgeCommit message (Collapse)Author
2015-04-22NPTL: Rename a variableBernhard Reutner-Fischer
There seems to be a bug in gold with static TLS at least on x86_64 (?) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2012-06-15tsd.c: fix commentPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-03-03add missing prototypesPeter S. Mazinger
Add some missing prototypes Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2010-05-07static build: fix internal locking weaks to get pulled in alwaysTimo Teras
Linker is smart and does not pull in weaks.os, ever. This happens because that compilation unit does not get strong references and ld eliminates dead code. We really need the weaks for static build in a compilation unit that is always there, otherwise it won't work. Signed-off-by: Timo Teras <timo.teras@iki.fi> Acked-by: Roman I Khimov <khimov@altell.ru> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-04-22nptl: fix libc internal, dynamically enabled lockingTimo Teräs
Final iteration to fix libc internal locking if libpthread is pulled in by dlopen call (directly or indirectly). We cannot really use the weak symbol trick for shared build, since the symbols won't get refreshed if libpthread is pulled in dynamically. In glibc, they have #ifdef SHARED magic to either use pthread_functions table, or weaks. But as we shared object files with both builds, this does not sounds good either. The reintroduces the libc weaks.c, but uses them now only with static build. For dynamic build, we still use the symbols with same name, but provide weaks in forward.c so they end up dereferencing the pthread_functions table indirectly if we are not linked to libpthread. Mutex initialization is hard coded as inline, as it needs to happen even if libpthread is not initially loaded. Signed-off-by: Timo Teräs <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-02Merge commit 'origin/master' into nptlAustin Foxley
Conflicts: Makefile.in extra/Configs/Config.in libc/sysdeps/linux/common/bits/kernel-features.h libc/sysdeps/linux/common/poll.c libc/sysdeps/linux/common/sysdep.h libc/sysdeps/linux/sh/sysdep.h Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-03-25prettify make cleanBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-02-11libc: build tsd only when tls is enabledAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-10-17whitespace fixesAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-10-17some tweaks under libc/ needed for nptlAustin Foxley
* updated kernel-features.h * system is provided by pt-system with nptl * _exit should do exit_group with nptl * tsd tls ptr in libc * rt_sigwaitinfo impl added Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2009-08-17support building out-of-treeBernhard Reutner-Fischer
Handle O= Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2008-11-07- less verbose make cleanBernhard Reutner-Fischer
2006-12-09these weaks are also needed in libc.so for the time beingEric Andersen
2006-12-09oops, use __pthread_mutex_unlock() not pthread_mutex_unlock()Eric Andersen
2006-12-09silence a lot of warnings and fix a few genuine bugs while I'm at it.Eric Andersen
2006-12-08finish the pthread locking cleanups. This should get things compiling againEric Andersen
though I still need to silence the warnings about _pthread_cleanup_push_defer
2006-12-07Major cleanup of internal mutex locking. Be more consistant in how we doEric Andersen
things, and avoid potential deadlocks caused when a thread holding a uClibc internal lock get canceled and terminates without releasing the lock. This change also provides a single place, bits/uClibc_mutex.h, for thread libraries to modify to change all instances of internal locking.
2006-12-02(no commit message)"Steven J. Hill"
2006-03-09Remove __libc_internal_tsd_{s,g}et, they do not exist anymorePeter S. Mazinger
2006-02-15DOMULTI may be used for libc, the excluded files need work, ↵Peter S. Mazinger
linuxthreads[_db] as well, don't try on slow box
2006-02-13libc-{a,so,multi}-y replaced by libc-y covering common objects both in ↵Peter S. Mazinger
libc.a/libc.so, the diffs go into libc-static-y/libc-shared-y exclusively, add IMA to libc, don't use any MSRC anymore
2006-01-22Enable _GNU_SOURCE build wide, trying to get consistent interfaces, else IMA ↵Peter S. Mazinger
is a useless attempt
2006-01-04update pthread weak handling to the style glibc usesMike Frysinger
2005-12-29beautifyMike Frysinger
2005-12-16Convert usersPeter S. Mazinger
2005-12-06Yeah, suck it up. I'm tired of merging stuff."Steven J. Hill"
2005-12-02add some notes (thanks to mjn3) as to why we need these weaks, remove all ↵Mike Frysinger
the weaks that we arent actually using atm, and in general touchup the code
2005-11-21Remove TOPDIRPeter S. Mazinger
2005-11-15this is GNU sourceMike Frysinger
2005-11-03Enable IMAPeter S. Mazinger
2005-11-01Remove last unused references to libc-a-pic-, we use only the lists in ↵Peter S. Mazinger
libc-a-y for objects that go into static libs, changing their suffix to .os, of they should be PIC
2005-10-29Replace all Makefiles for new build infrastucturePeter S. Mazinger
2005-10-25All Makefile.in's. Only arm/i386/mips/powerpc/x86_64 are done, the other ↵Peter S. Mazinger
archs lack proper crt1. The Makefiles in extra/scripts are intended to be linked into each dir, where it is necessary to build locally.
2005-10-12Rewrote almost all Makefiles: do not use strip $(x),y; run strip on all ↵Peter S. Mazinger
objects at once; use :=//$</$^; use CRT_SRC/CRT_OBJ/SCRT_OBJ/CSRC/COBJ/SSRC/SOBJ/MSRC/MOBJ where no more is needed, if only CSRC is present use OBJS directly instead of COBJ; CTOR_TARGETS are created directly in lib; remove unused/unneeded parts. Hope I haven't broken too much.
2005-10-04Clean up pthread include mess. Some of these will be needed to support NPTL, ↵"Steven J. Hill"
but they do no harm for the linuxthreads case. Yes, I tested this.
2005-09-22weaks moved after the related function so gcc4 won't warnPeter S. Mazinger
2005-07-09punt unused __pthread_return_void funcMike Frysinger
2005-01-25merge parallel build supportMike Frysinger
2004-05-14Joakim Tjernlund writes:Eric Andersen
Hi Erik It seems to me that __pthread_once and __pthread_initialize_minimal could be made WEAKs with no stub. The code in rpc_thread.c and __uClibc_main.c appears to expect this. Also, __pthread_return_0 __pthread_return_1 and __pthread_return_void can be static, not to pollute the name space. Jocke
2004-01-04My mistake. We do need some weak pthread_* funcs. But we were previouslyManuel Novoa III
missing one in the glibc abi, and including a number of extras (which I left in commented). Unfortunately, this brings back the perl pthread bug. Fixing the incorrect weaks in libpthread wasn't sufficient to escape the shared loader bug. :-(
2003-12-27Fix a long-standing bug with pthreads. A couple of linuxthreads filesManuel Novoa III
were including libc-lock.h which had a bunch of weak pragmas. Also, uClibc supplied a number of no-op weak thread functions even though many weren't needed. This combined result was that sometimes the functional versions of thread functions in pthread would not override the weaks in libc. While fixing this, I also prepended double-underscore to all necessary weak thread funcs in uClibc, and removed all unused weaks. I did a test build, but haven't tested this since these changes are a backport from my working tree. I did test the changes there and no longer need to explicitly add -lpthread in the perl build for perl to pass its thread self tests.
2003-10-18Peter Kjellerstedt writes:Eric Andersen
rm.patch: * Define $(RM) as rm -f in Rules.mak and test/Rules.mak (this is the same definition as gmake uses by default). * Change all occurrences of rm and rm -f into $(RM).
2002-08-19Be prepared to call __pthread_initialize_minimalEric Andersen
2002-08-12Fix use of __pthread_once, and fix rpc usage of thread localEric Andersen
storage.... -Erik
2002-03-09Avoid forced -lpthread lnkage when threading is enabledEric Andersen
2002-02-20Merge in the pthread library. This is the linuxthreads library taken fromEric Andersen
glibc 2.1.3 and ported to work with uClibc by Stefan Soucek and Erik Andersen (me). Stefan has hacked things up such that linuxthreads runs on MMU-less systems (tested only on arm-nommu). Erik cleaned things up and made it work properly as a shared library. -Erik