首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM GNU GCC链接器

ARM GNU GCC链接器
EN

Stack Overflow用户
提问于 2013-10-18 03:57:51
回答 1查看 574关注 0票数 0

这与GNU有关,我有一个不同于.text,.data或.bss的部分,我如何告诉linker.If不要在这些部分中包含该部分。

例如:

代码语言:javascript
复制
SECTIONS {
.text {}
.data {}
.bss {}
.sec_var {}

}

实际上,在我的例子中,sec_var有一些全局变量,我不希望它成为数据段的一部分,但默认情况下,链接器有孤立段的概念,所以它会尝试将该段放在.data中。因此,最终的二进制大小增长相同。

我在GCC链接器中读到:

代码语言:javascript
复制
You can use :NONE to tell the linker to not put the section in any segment at all. 

有没有人用过它,或者有其他方法,这样,sec_var就不会被放在.data部分下面了?

EN

回答 1

Stack Overflow用户

发布于 2013-10-18 08:22:56

就像这样,

代码语言:javascript
复制
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在同一块内存空间中……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19436059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档