| |
|
Global data controls
Some new command-line options have been added to tune the compiler's handling
of global data. These options are equivalent to those added in ARM SDT 2.11.
- -zz<ZI threshold size>
- Sets the value of the zero-initialised data threshold size.
The compiler will place uninitialised global variables in the
Zero Initialised (ZI) data area if their size is greater than
<ZI threshold size> bytes.
-
For example, you can force uninitialised global variables of
any size to be placed in the ZI data area by specifying -zz0,
though this may increase your code size. Alternatively you
could use -zz100000000 to prevent any variables being placed
in the ZI data area.
-
Use this option in combination with -zt to avoid increased
code size. Option -zzt provides a convenient shorthand. The
default threshold size is 8 bytes; this was 100 bytes in
older versions of the compiler.
- -zt
- Disallows tentative declarations. If this option is specified
the compiler assumes that any occurrence of a top level
construct such as int i; is a definition without initialiser,
rather than a tentative definition. Any subsequent definition
with initialiser in the same scope will generate an error.
This may fault code that conforms to the ISO standard.
-
This option is useful in combination with the -zz option.
- -zzt<ZI threshold size>
- Combines the -zt and -zz options. For example, specify -zzt0
to force the compiler to disallow tentative declarations and
place all uninitialised global variables in the ZI data area.
For a more detailed explanation of the issues involved, see ARM's Application
Note 36.
|