同じセクションにコードと関連データを入れたいLinuxカーネルモジュールを書いています。次のように、属性タグを使用してデータと関数を宣言します。
void * foo __attribute__ ((section ("SEC_A"))) = NULL;
void bar(void) __attribute__ ((section("SEC_A")));
ただし、これを行うと、gcc は次のように文句を言います。
error: foo causes a section type conflict
特定のセクション名で関数を宣言しない場合、gcc は問題ありません。しかし、関数と変数の両方を同じセクションに入れたいです。
gccでそれを行う方法はありますか? 私のgccバージョンはgcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2