Everything

 

-stuff [V2.03.00 or later]


This option allocates variables to sections separated according to the number of alignment.

[Specification format]

-stuff[=<variable-type>[,...]]
<variable-type>:{bss|data|const}

-

Interpretation when omitted

Variables are allocated without separating sections.

[Detailed description]

-

This option allocates the variables belonging to the specified <variable-type> to sections separated according to the number of alignment.

-

bss specifies uninitialized variables, data specifies initialized variables, and const specifies const variables.

-

If <variable-type> is omitted, all types of variables are applicable.

-

If this option is specified multiple times, all specified types of variables are applicable.

-

If the same variable type is specified multiple times, the compiler handles this as one specification. For this, no warning is issued.

-

If anything other than bss, data, and const is specified for <variable-type>, an error occurs.

-

Variables are output to a section whose section name has <number-of-alignment>.
However, if the number of alignment is 4, "_4" is not added to a section name.

Examples:

When the number of alignment of variables is 4: .bss

When the number of alignment of variables is 2: .bss_2

When the number of alignment of variables is 1: .bss_1

[Example of use]

const char c=1;
const short s=2;
const long l=3;

Default

-stuff specification

       .section .const, const
_c:
       .db 0x01
       .align 2
_s:
       .dhw 0x0002
       .align 4
_l:
       .dw 0x00000003
       .section .const_1, const, align=1
_c:
       .db 0x01
 
       .section .const_2, const, align=2
       .align 2
_s:
       .dhw 0x0002
 
       .section .const, const
       .align 4
_l:
       .dw 0x00000003

[Remark]

-

Each section name reflects the following options or specification in #pragma section:

-Xsection, -Xmulti_level