In this particular case, Raspberry Pi 2 (ARMv7l / fpc 2.6.4).
I always had my application-wide data organized in a tree of records. *Packed* records.
It always worked.
Then, on RPi2, I loaded GLES2... and suddenly got hit in my face with an AV at the first attempt of float division of two longints.
I was stumped.
I was frustrated.
The cause...? GLES obviously changed some flags and float math stopped working on *unaligned* data.
Comrades @ freepascal.ru looked at me like I was nuts (unaligned records? on ARM? That couldn't work even in theory!)
And yet it was working. At least until... Yeah.
So I solved it using {$packrecords 4} and {$ifndef cpuarm}packed{$endif}
Bookmarks