Reply by Thomas Richter November 23, 20072007-11-23
John Costella schrieb:

> Thanks, mate; I've tried to break it but my resources are limited. > (Would be much easier if my name was Bill Gates, but then > everyone would be throwing things at me.) Could you send me > the image that killed it? (Or are you telling me that it dies for all > images with that build?)
Pretty any image does that, see below for what I believe the problem is.
> (Incidentally, that not-very-useful error tree actually says that the > program thought it ran out of memory, but that must be a bug; > I assume that s.bmp isn't some humungous image that won't > fit in memory...) > > Does the Windows executable fail on the same image?
No idea, no windows here. Update to the update: It works with the -m32 switch, which means you need to check the following issues: "long" is not 32bit. It is what the compiler assigns to it. If you need 32 bit, int32_t is what you want, or an autoconfig script. For linux and gcc, "long" is 64 bit. Pointers aren't 32bit wide either. If you convert from a pointer to an integer or back, make sure the corresponding integer type is wide enough. ptrdiff_t for example, is wide enough to hold the difference between any two pointers, so this might be the thing to check. HTHH, Thomas