您好我正在尝试通过以下方式在我的链接器脚本中定义一个自定义部分:
.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 的默认标志,即。AW in readelf
[11] .version_section PROGBITS 00011088 004088 001044 00 WA 0 0 8
我在这里做错了什么?