hey folks, just to throw something out there, the last time i ran into a bug like this was a few weeks back with php, also with gcc 4.4 and also on arm. turns out it was a case of signed integer overflow, which has undefined consequences in runtime code.
looking through the code i see comments that show some awareness of this but also some constants which are a bit suspicious. namely, grep around for -0x80000000 and similar, which are invalid values for signed int32's, etc. i couldn't say that i'm confident that this actually is the problem, but i think blaming the compiler really ought to be the last resort. i'm somewhat half-interestedly playing around with a compile on agricola atm, if i find anything i'll be sure to share. sean --
signature.asc
Description: Digital signature