こんにちは、リンカー スクリプトで次の方法でカスタム セクションを定義しようとしています。
.version_section(__custom_data__) :
{
KEEP (*version_info.o (.rodata* .data* .sdata*))
}
構造体を含む C ファイルをコンパイルしていますが、その構造体を常にこの version_section に格納したいと考えています。
version_info ver_info __attribute__ ((section(".version_section"))) = {7, 10, 2013, 17, 17, "some_type", "some_sw_version", "some_version"} ;
さて、この段階まではすべて正常に動作します。しかし、そのように生成されたセクションにはフラグ「AW」がありますが、フラグを「A」にする必要があります。
したがって、このセクションを次のような「A」フラグを持つように定義したアセンブラー ファイルを使用しています。
.section .version_section,"a", @progbits
.align 8
.globl __custom_data__
.type __custom_data__, @function
__custom_data__:
.word 0
.size __custom_data__, .-__custom_data__
.space (0x1024-0x4), 0
しかし、version_section へのデフォルトのフラグがまだ表示されます。readelf の AW
[11] .version_section PROGBITS 00011088 004088 001044 00 WA 0 0 8
ここで何が間違っていますか?