On 01/07/11 20:55, Somebody in the thread at some point said: > ..snip.. > >>>> I am inclined to think it might be compiler related. Andy's package is >>>> the same version as mine, his works, mine does not. The only thing that >>>> is likely to be different is the build environment. >>> >>> That and the development board. You are using a sheevaplug. >>> It is also likely that Andy's hardware does fixups for misaligned >>> accesses. >> >> It's an NXP LPC3250, ARM926EJ-S. I have no idea if the hardware is handling >> the alignment issue but that would explain why everything is exactly zero on >> that box's alignment error stats. Searching the datasheet for 'alignment' >> doesn't tell anything relevant. > > A test would be to write a simple program like
Yeah... let's find out. /tmp/x.c: #include <stdio.h> #include <string.h> int main(int argc, char * argv[]) { unsigned char buf[8]; unsigned int *p = (unsigned int *)&buf[1]; strcpy(buf, "abcdefg"); printf("0x%08x\n", *p); return 0; } [r...@ivmon tmp]# gcc -o x x.c [r...@ivmon tmp]# ./x 0x61646362 [r...@ivmon tmp]# cat /proc/cpu/alignment User: 1 System: 0 Skipped: 0 Half: 0 Word: 0 DWord: 0 Multi: 0 User faults: 0 (ignored) [r...@ivmon tmp]# ./x 0x61646362 [r...@ivmon tmp]# cat /proc/cpu/alignment User: 2 System: 0 Skipped: 0 Half: 0 Word: 0 DWord: 0 Multi: 0 User faults: 0 (ignored) [r...@ivmon tmp]# Nothing is fixing it up, not even the kernel, and the data is broken. So it's true my box is alignment error -clean after boot. I don't use the Fedora sysvinit and instead come up in my own /etc/rc.d/rc.sysinit as "init" at the moment. -Andy _______________________________________________ arm mailing list arm@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/arm