On Wednesday 03 June 2009 18:39:26 Sven Eckelmann wrote:
Architectures like SuperARM or Xscale needs aligned data for multi-byte operations. GCC can create instructions sequences for packed data, but must know that something will not be aligned. Since list_add will operate on untyped data over void-pointers it cannot know that hna_global_entry is packed and will create only a fast and unsafe version for load and store operations. It is only important for the first 5 bytes of hna_global_entry to be packed we can force these elements to be aligned without changing the relative addresses of the first bytes.
Sven, thanks a lot for your patches and thanks for your debugging help, Nathan. I just applied these patches. :-)
Regards, Marek