summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/descr.h
AgeCommit message (Collapse)Author
2005-09-16Robin Getz from blackfin.uclinux.org writes:Mike Frysinger
Bernd Schmidt found/fixed this problem in uClibc: http://blackfin.uclinux.org/tracker/index.php?func=detail&aid=882&group_id=17&atid=141 Basically, the uClinux dist includes a few thread demos - thdm and bcdm - running them simultaneously sometimes causes bus errors. Bernd wrote: >They occur in pthread_handle_sigrestart; thread_self returns a bogus value. >I managed to capture a debugging log, it's attached as bad-log. If you >look at it you'll notice that the initial stack bounds are bogus: bottom >of stack is higher than top of stack. This appears to be because of a bug >in NOMMU_INITIAL_THREAD_BOUNDS(tos,bos): if a new thread has a BOS equal >to the initial thread's current TOS, it'll munge the initial thread's >stack bounds. Fixed with the attached patch, which I've committed. >This should fix the crashes people have seen, but since the bug was always >hard to reproduce, I can't be 100% certain they are gone. Please retest, >everyone... This patch was made against our cvs, which has an older version of uClibc in it - this code was recently moved from internals.h to descr.h in the uclibc svn, but it still has the same problem
2005-09-09sync with glibc by moving the thread_desc stuff out of internals.h and into ↵Mike Frysinger
a new file descr.h ... also redo thread_desc init by specifying members in the struct by name rather than position