We are trying to move from gcc 4.6 to gcc 4.9 (as part of moving from being Debian wheezy based to jessie based).
This has now brought up an unexpected change in behaviour on arm (powerpc is fine). We are getting bus errors with kernel complaints about unaligned memory accesses. Now it is certainly true that we are doing some unaligned memory accesses, but on armv7 that is supposed to be allowed, as long as the memory is marked as "normal memory". gcc 4.6 and earlier never generated unaligned accesses as far as I understand it, while gcc 4.7 and higher do generate unaligned accesses by default on armv7 according to the gcc documentation. Is it expected that the memory in xenomai would not be flagged as normal memory (the other options as far as I understand it are device memory and strongly ordered memory). This is with 3.14 kernel and xenomai 2.6.4 with LPAE enabled on a Cortex-A15 system. So same code, same xenomai, same kernel with gcc 4.6 does not see this, while with 4.9 it does. I tried building the application with -nno-unaligned-accesses, but I didn't rebuild the libraries that way, so that might not be enough. Really I think it should work fine, since I can't see why the pages would be flagged as something other than normal memory (unless DMA pages are somehow getting involved, since some of this is dealing with network packets being received). Any ideas where to investigate? -- Len Soirensen _______________________________________________ Xenomai mailing list [email protected] http://xenomai.org/mailman/listinfo/xenomai
