Everything

 

-stuff 【V2.03.00以降】


変数をアライメント数に応じたセクションに分けて配置します。

[指定形式]

-stuff[=<変数種別>[,...]]
<変数種別>:{bss|data|const}

-

省略時解釈

セクションを分けずに変数を配置します。

[詳細説明]

-

stuffオプションを指定した場合,指定した<変数種別>に属する変数をアライメント数に応じたセクションに分けて配置します。

-

bss指定は初期値なし変数を,data指定は初期値あり変数を,const指定はconst変数を対象とします。

-

<変数種別>を省略した場合は,全ての種別の変数が対象となります。

-

本オプションを複数回指定した場合,指定した全ての変数種別の変数が対象となります。

-

同じ変数種別を複数回指定した場合,1回指定した場合と同じ意味になります。このとき,警告を出力しません。

-

<変数種別>にbss, data, const以外を指定した場合はエラーとします。

-

変数の出力先はセクション名に "_<アライメント数>" を付加したセクションとなります。
ただし,アライメント数が4の場合は,"_4"は付加されません。

例)

変数のアライメント数が4:.bss

変数のアライメント数が2:.bss_2

変数のアライメント数が1:.bss_1

[使用例]

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

デフォルト

-stuff指定

       .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

[備考]

-

各セクション名は,次のオプションまたは#pragma sectionでの指定を反映します。

-Xsection, -Xmulti_level