I recently ported a rather complicated multi-threaded application from a MIPS core to coldfire. The code running on the coldfire runs for hours, then a thread will get ‘stuck’ in the pthread library at __lll_lock_wait(). I can inspect the contents of the mutex that was being locked with gdb, and its owner is 0! So it looks like its waiting for a mutex that is already unlocked.
This is on a coldfire MCF54453 – basically the NCF54455 without ATA. glibc is v2.11 form codesourcery (i.e. from Freescale LTIB) I tried the latest glibc from Mentor (v2.13) - same problem. I also looked over the release notes from 2.14-2.16 for glibc and there is no mention of a problem like this. Can anyone shed some light on this? Also, I would like to build glibc/pthreads from the source. Can anyone provide a build script or config.log that properly configures glibc/pthreads for coldfire? Thanks,Ed

