这与GNU有关,我有一个不同于.text,.data或.bss的部分,我如何告诉linker.If不要在这些部分中包含该部分。
例如:
SECTIONS {
.text {}
.data {}
.bss {}
.sec_var {}
}实际上,在我的例子中,sec_var有一些全局变量,我不希望它成为数据段的一部分,但默认情况下,链接器有孤立段的概念,所以它会尝试将该段放在.data中。因此,最终的二进制大小增长相同。
我在GCC链接器中读到:
You can use :NONE to tell the linker to not put the section in any segment at all. 有没有人用过它,或者有其他方法,这样,sec_var就不会被放在.data部分下面了?
发布于 2013-10-18 08:22:56
就像这样,
MEMORY
{
bob : ORIGIN = 0x8000, LENGTH = 0x1000
ted : ORIGIN = 0xA000, LENGTH = 0x1000
}
SECTIONS
{
.text : { *(.text*) } > bob
.rodata : { *(.rodata*) } > bob
.bss : { *(.bss*) } > ted
}我假设你并不是真的想让.rodata在.text中,但也许你想让.text和.rodata在同一块内存空间中……
https://stackoverflow.com/questions/19436059
复制相似问题