Robin Getz from blackfin.uclinux.org writes: Bernd Schmidt found/fixed this problem in uClibc:
Robin Getz from blackfin.uclinux.org writes:
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

atgreen/uClibc-moxie,foss-xtensa/uClibc,kraj/uclibc-ng,ffainelli/uClibc,brgl/uclibc-ng,ddcc/klee-uclibc-0.9.33.2,skristiansson/uClibc-or1k,majek/uclibc-vx32,atgreen/uClibc-moxie,waweber/uclibc-clang,ysat0/uClibc,ddcc/klee-uclibc-0.9.33.2,ffainelli/uClibc,wbx-github/uclibc-ng,czankel/xtensa-uclibc,hjl-tools/uClibc,skristiansson/uClibc-or1k,foss-for-synopsys-dwc-arc-processors/uClibc,atgreen/uClibc-moxie,foss-for-synopsys-dwc-arc-processors/uClibc,OpenInkpot-archive/iplinux-uclibc,klee/klee-uclibc,waweber/uclibc-clang,mephi42/uClibc,ddcc/klee-uclibc-0.9.33.2,ndmsystems/uClibc,hwoarang/uClibc,kraj/uClibc,waweber/uclibc-clang,brgl/uclibc-ng,groundwater/uClibc,skristiansson/uClibc-or1k,klee/klee-uclibc,hwoarang/uClibc,czankel/xtensa-uclibc,wbx-github/uclibc-ng,kraj/uclibc-ng,majek/uclibc-vx32,majek/uclibc-vx32,ddcc/klee-uclibc-0.9.33.2,kraj/uClibc,atgreen/uClibc-moxie,m-labs/uclibc-lm32,majek/uclibc-vx32,ChickenRunjyd/klee-uclibc,ysat0/uClibc,gittup/uClibc,groundwater/uClibc,ChickenRunjyd/klee-uclibc,m-labs/uclibc-lm32,mephi42/uClibc,OpenInkpot-archive/iplinux-uclibc,wbx-github/uclibc-ng,klee/klee-uclibc,hjl-tools/uClibc,klee/klee-uclibc,kraj/uclibc-ng,ysat0/uClibc,hjl-tools/uClibc,kraj/uClibc,hjl-tools/uClibc,m-labs/uclibc-lm32,gittup/uClibc,ChickenRunjyd/klee-uclibc,ndmsystems/uClibc,OpenInkpot-archive/iplinux-uclibc,hwoarang/uClibc,hjl-tools/uClibc,skristiansson/uClibc-or1k,kraj/uclibc-ng,ChickenRunjyd/klee-uclibc,gittup/uClibc,groundwater/uClibc,OpenInkpot-archive/iplinux-uclibc,ffainelli/uClibc,mephi42/uClibc,groundwater/uClibc,brgl/uclibc-ng,foss-xtensa/uClibc,foss-for-synopsys-dwc-arc-processors/uClibc,mephi42/uClibc,foss-xtensa/uClibc,wbx-github/uclibc-ng,ndmsystems/uClibc,czankel/xtensa-uclibc,ffainelli/uClibc,gittup/uClibc,groundwater/uClibc,foss-for-synopsys-dwc-arc-processors/uClibc,ndmsystems/uClibc,m-labs/uclibc-lm32,ffainelli/uClibc,brgl/uclibc-ng,waweber/uclibc-clang,hwoarang/uClibc,czankel/xtensa-uclibc,ysat0/uClibc,foss-xtensa/uClibc,kraj/uClibc