Global variable alignment
Posted 13 January 2011 - 07:38 AM
I am working with RealView Compilation Tools v2.1. I need to align a static global variable on a 16-byte boundary. In the 'Compiler and Libraries Guide' document, section 3.1.3, the __align(n) keyword is explained. It is not clear to me if n=16 is allowed for a static global variable. I have tried it and it appears to be working, but I would like to confirm it.
Posted 17 January 2011 - 05:33 PM
FYI - in newer tool releases (RVCT4.1) it will work for the following alignments of n:
- For local variables, n can take the values 1, 2, 4, or 8.
- For global variables, n can take any value up to 0x80000000 in powers of 2.
Posted 19 January 2011 - 02:28 PM
The point is that RVCT 2.1 says: 'You can specify a power of two for the alignment boundary, however eight is the maximum for auto variables'. As I understand, an 'auto' variable is the same as a 'local' variable, so it is not clear to me what is the limitation for global variables.