gpt4 book ai didi

c - 如何将 2 个部分放入 1 个部分(使用 ld 脚本)

转载 作者:IT王子 更新时间:2023-10-29 00:07:40 25 4
gpt4 key购买 nike

我有以下链接描述文件:

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 和数据)位于不同的 LOAD 段中。我想把这两个部分(.arora_data_free_space 和 .arora_exec_free_space)合二为一加载段。有什么办法可以使用链接描述文件来做到这一点?我该怎么做?谢谢。

最佳答案

当然 - 你只需要使用 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
}

关于c - 如何将 2 个部分放入 1 个部分(使用 ld 脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11247098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com