Age | Commit message (Collapse) | Author |
|
from dlopen()'ing glibc's libthread_db library...
|
|
|
|
|
|
from glibc 2.3. This should make threads much more efficient.
-Erik
|
|
|
|
I found a problem in uClibc in libpthread/linuxthres/condvar.c:
pthread_cond_timedwait never uses rt singals
uClibc has two implementations of pthread_cond_timewait -
pthread_cond_timedwait_relative_old using the "normal" signals and
pthread_cond_timedwait_relative_new usign the rt signals
(for kernels >= 2.2).
The function pointer pthread_cond_tw_rel is initialised with the old
function. In "__pthread_init_condvar(int)" this pointer is set to the new
function using rt signals, but "__pthread_init_condvar" is never called in
the uClibc.
The following patch solves this issue, so that __pthread_init_condvars
is called and the function pointer is always initialised with the correct
function.
regards,
christian
|
|
|
|
and in the files where variables live.
|
|
function. Without this fix, pthread_mutex_lock/pthread_mutex_unlock don't work
on mips.
|
|
locks before calling clone when under a debugger, and unlocks on success or
failure of clone when under a debugger.
|
|
needed to make gdb happy when debugging threadded apps.
|
|
and run. Seems to be working...
-Erik
|
|
been working on a new config system on and off for about 6 months
now, but I've never been fully satisfied. Well, I'm finally am
happy with the new config system, so here it is. This completely
removes the old uClibc configuration system, and replaces it with
an entirely new system based on LinuxKernelConf, from
http://www.xs4all.nl/~zippel/lc/
As it turns out, Linus has just merged LinuxKernelConf into Linux
2.5.45, so it looks like I made the right choice.
I have thus far updated only x86. I'll be updating the other
architectures shortly.
-Erik
|
|
Attached are the changes we think is necessary in order to use user
defined stacksizes for each thread. When testing I forgot to lower the
PTHREAD_STACK_MIN to the lowest value used for the stacks, this caused
stranged reboots.
As said before, we are using uClinux 2.0.38 on a ARM7TDMI.
|
|
uClibc's libpthread to run on linux 2.0.x kernels which lack
poll() and therefore must use select() instead.
|
|
a few spots in our header files. In this change I do a
s/__thread/__thread_id/
so we no longer conflict with newer CVS versions of gcc (such as the
patched up gcc 3.2 included with RedHat 3.0).
-Erik
|
|
|
|
|
|
we hose our code... hose our code... hose our code... this is the way we hose
our code... all thanks to glibc"
-Erik
|
|
things to happen. This makes it explicit, so pthread using apps are no longer
broken...
-Erik
|
|
|
|
pthread stuff. Also, don't bother building libthread_db unless we
are debugging.
-Erik
|
|
if this is serious enough to warrent 0.9.14?
-Erik
|
|
In linuxthreads/errno.h the functions __errno_location and
__h_errno_location wasn't safe against calling before the
library is initialized.
|
|
related to thread local storage.
-Erik
|
|
|
|
pthread_mutexattr_getpshared(), which were
missing
-Erik
|
|
-Erik
|
|
the obsolete PTHREAD_MUTEX_FAST_NP, and change the default mutex
type to adaptive
|
|
-Erik
|
|
not correct for uClibc. Fix setenv locking to behave itself.
-Erik
|
|
|
|
|
|
|
|
for SH, and fix vfork
|
|
|
|
|
|
|
|
|
|
|
|
it, since we definately do not want silent remapping of functions to
their large-file counterparts.
-Erik
|
|
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
|