[gccsdk] Dynamic libraries vs pthreads

Lee Noar leenoar at sky.com
Wed Sep 3 12:18:33 PDT 2008


Peter Naulls wrote:
> Lee Noar wrote:
> 
>> Yes, 2.0.0.12-riscpc does work on my machine, and I see that Firefox 
>> uses pthread_yield() quite extensively. Whatever triggers this bug 
>> must be fairly rare as it doesn't always fail. I don't see how it 
>> could be specific to shared library code as it really isn't any 
>> different to non-PIC code as far as the CPU is concerned
> 
> Well, more to the mystery.  I'm pretty sure I have your change - 
> although TBH it's sometimes a bit hard to tell with our build
> setup :-(
> 
> I'm looking for problems with pthread conditions, which is
> afflicting nspr.  Anyway, using the program below, it dies
> in __pthread_yield_return, looks like after the sleep call returns:

AIUI, the change I made only benefited revision K StrongARMs so it is 
odd that you're having these crashes, before or after the change. 
pthread_yield_return only consists of 1 LDM instruction with fp as the 
base, so you must have an invalid fp which is what I was seeing.

[SNIP program]

I've just bought an Iyonix, so when I've got it set up properly, I'll 
have a closer look at this and the shared library version of Firefox.

Lee.




More information about the gcc mailing list