summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps
AgeCommit message (Collapse)Author
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>
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-12use user-provided host binariesBernhard Reutner-Fischer
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.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-23improve parallel make behaviourAustin Foxley
* add library dependencies for libdl,libpthread * fix typo in librt/Makefile.in * also remove extra trailing slashes on i386, sparc pregen headers 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-19Add dummy tcb-offsets.hKhem Raj
* This file is used during creation of real tcb-offsets.h because lowlevellock.h from i386 also include tcb-offsets.h and it is inturn included by tls.h and tls.h is used in the dummy C file generated from tcb-offsets.sym, it created a catch-22 Signed-off-by: Khem Raj <raj.khem@gmail.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>
2010-02-19fixes to get nptl compiling for x86_64Austin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-19Fixes to get nptl compiling for x86Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-18Fix typo in generated file names.Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-18i386 unify sysdep.hAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-18x86_64: unify sysdep.hAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-18nptl: Fix clean target to remove generated filesCarmelo Amoroso
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-02-18include tcb-offsets.h in sysdep-cancel.h for arm.Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-17Get new nptl building on SH4Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-17compile fixes for i386 nptlAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-17fix nptl build for sparcAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-17move pthread_barrier_{init,destroy} to sysdeps/pthreadAustin Foxley
for archs that implement their own like sparc and x86_64 Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-17Fix nptl build for mipsKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-17sparc/nptl: typo fixesAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-17sparc/nptl: fix wrong vfork hidden defAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-17Add missing lowlevelrobustlock.cKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-17fix typoAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-17Assorted fixed to get nptl compiling on ARMKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-16a few more build fixes nptl syncAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-16mass sync with glibc nptlAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-13sparc/sysdep: Unify sparc sysdep.hAustin Foxley
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
2010-02-11arm/sysdep: Unify arm sysdep.hKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-11mips/sysdep.h: Unify mips sysdep.hKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-02-09nptl: sysdep headers update for i386, mips and x86_64Carmelo Amoroso
Update the arch specific sysdep headers to include the common header under libc/sysdeps/linux/common instead of libpthread/nptl/sysdeps/generic. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-02-09nptl: sysdep headers re-factoringCarmelo Amoroso
This patch will re-factor and simplify sysdep headers handling for nptl branch. The reason is to use some useful macros in asm code (i.e. ENTRY()) that are available only into nptl branch because are defined in sysdep.h header under the nptl folder even if they are not related to NPTL at all (this was likely due to a bad choice done at the early stage of NPTL porting). This is a required steps for integrating into master branch some asm code available in nptl branch for sh4. The main changes are described below: nptl/sysdeps/generic/sysdep.h (moved) ---> libc/sysdeps/linux/common/sysdep.h nptl/sysdeps/arm/sysdep.h (moved) ---> libc/sysdeps/linux/arm/sysdep.h nptl/sysdeps/sh/sysdep.h ---------------------| nptl/sysdeps/unix/sh/sysdep.h ----------------| nptl/sysdeps/unix/sysv/linux/sh/sysdep.h -----| nptl/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h -| |(merged) ---> libc/sysdeps/linux/sh nptl/sysdeps/unix/sysdep.h (deleted) Similarly the mips and arm sysdep.h should be merged and updated as for sh arch. Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2010-02-05pthread_{attr_,}{s,g}etaffinity: cleanup symbol namesBernhard Reutner-Fischer
and hide __determine_cpumask_size. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-02-01Add -DNOT_IN_libc=1 -DIS_IN_libpthread=1 to some sources in nptl/libpthread ↵Khem Raj
build. * This will prevent use of internal __libc* symbols in libpthread which should be hidden for libc only use. Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-01-25Makefile.arch: On ARM and MIPS pass -DNOT_IN_libc=1 -DIS_IN_libpthread=1Khem Raj
* This will prevent it using internal __libc* symbols in pthread which should be hidden for libc only use. Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-01-25mips/dl-tls.h: Adjust TLS_TPREL_VALUE and TLS_DTPREL_VALUEKhem Raj
* Symbol values are passed in directly into these macros instead of the symbol structure. Signed-off-by: Khem Raj <raj.khem@gmail.com>
2010-01-23nptl: timer_routines.c (timer_helper_thread):Austin Foxley
Use sigfillset. Document that sigfillset does the right thing wrt to SIGSETXID. Sync with glibc Signed-off-by: Austin Foxley <austinf@cetoncorp.com>