On Thu, Apr 26, 2007 at 11:57:40PM -0500, Eric Sandeen wrote: > Maybe the alignment isn't broken; it's just "special" - I guess there > are no actual rules on how the structure must be aligned... hmm...
Yep. Padding rules on old-ABI ARM systems are 'special', but still spec-compliant. See: http://www.simplemachines.it/arm-linux/book/afaq.html For example, this means that sizeof(struct { char a; char b; }) == 4 on old-ABI ARM systems. This is the main cause of pain when porting applications to ARM platforms. (#2 is the fact that chars are unsigned by default on ARM, which is also something that the relevant specs allow but not a lot of people expect.) The new ARM ABI (EABI) changes both of these things (and a couple more, such as 64 bit type alignment and the floating point calling convention) to be more in line with other deployed Linux platforms. There is a preliminary Debian EABI port available here: http://wiki.debian.org/ArmEabiPort But Debian EABI uptake has been very slow, and most people are still on old-ABI systems. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]