Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Global variable alignment
Jump...
Cancel
Locked
Locked
Replies
3 replies
Subscribers
119 subscribers
Views
3449 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Global variable alignment
Miguel Sebastián
over 12 years ago
Note: This was originally posted on 13th January 2011 at
http://forums.arm.com
Hi,
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.
Best Regards,
Miguel
Miguel Sebastián
over 12 years ago
Note: This was originally posted on 17th January 2011 at
http://forums.arm.com
Hi,
I have not received any answers, can someone help me on this?
Regards,
Miguel
Cancel
Vote up
0
Vote down
Cancel
Miguel Sebastián
over 12 years ago
Note: This was originally posted on 19th January 2011 at
http://forums.arm.com
Hi,
The point is that RVCT 2.1 says: '[font="Times-Roman"][size="2"]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.
Regards,
Miguel[/size][/font]
Cancel
Vote up
0
Vote down
Cancel
Peter Harris
over 12 years ago
Note: This was originally posted on 17th January 2011 at
http://forums.arm.com
For RVCT 2.1 it is only specified to work for alignments of 1,2,4, or 8 - it is unclear what happens for alignments larger than this, although I suspect it is not guaranteed to do anything predictably.
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.
Cancel
Vote up
0
Vote down
Cancel