[fpc-devel] Patch, font rendering on Arm-Linux devices.

Michael Schnell mschnell at lumino.de
Thu Feb 28 09:58:47 CET 2008


> On x86 processors it's usually only a speed penalty (or has anyone ever 
> seen the AC flag turned on?), on other processors you may even have to 
> workaround exceptions (i.e. bus errors), because the processor simply 
> refuses to read or write unaligned data. 
It even is not guaranteed (or even common) that a misaligned access with 
a processor that only can do aligned memory actions can be cured by an 
exception.

That is why the compiler needs to create complex code for the 
potentially misaligned elements of a packed record. All C compilers do 
this and I am positive that FP does it, too. So no problem here (beyond 
the additional cycles needed when working with packed records).

A real problem comes up if you manipulate a pointer to a (supposedly 
aligned) multi-byte variable to make it point to an odd address. This 
will make the program crash on certain processors (not PC not "big" 
68Ks, but "small" 68 Ks.

-Michael



More information about the fpc-devel mailing list