繁体   English   中英

如何将 2 个部分放在 1 个段中(使用 ld 脚本)

[英]How to put 2 sections in 1 segment (Using ld scripts)

我有以下链接器脚本:

SECTIONS {

    .arora_exec_free_space 4399531 : 
    {
        *(.text)
        *(.rodata)
        *(.data.rel.ro.local)
    }
    .arora_data_free_space (ADDR(.arora_exec_free_space) + SIZEOF(.arora_exec_free_space)) : AT (7592352)
    {
        *(.data)
        *(.bss)
        *(.got)
    }
}

当我编译我的程序时,这两个部分(exec 和 data)位于不同的 LOAD 段中。 我想将这两个部分(.arora_data_free_space 和 .arora_exec_free_space)放入一个 LOAD 段中。 有没有办法使用链接器脚本来做到这一点? 我该怎么做? 谢谢。

当然 - 你只需要使用PHDRS 我认为,该链接上的示例几乎正是您想要做的。 这是我从您的链接器脚本制作的(未经测试的)示例:

PHDRS
{
   mysegment PT_LOAD;
}

SECTIONS 
{
    .arora_exec_free_space 4399531 : 
    {
        *(.text)
        *(.rodata)
        *(.data.rel.ro.local)
    } :mysegment

    .arora_data_free_space (ADDR(.arora_exec_free_space) + SIZEOF(.arora_exec_free_space)) : AT (7592352)
    {
        *(.data)
        *(.bss)
        *(.got)
    } :mysegment
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM