在ELF

问题描述

我有一个将数组初始化为0的程序。我已使用__attribute__((section(".mysection")))

将该数组的值指向了自定义节
struct my_struct my_array[1] __attribute__((section(".mysection"))) = {
    {0,0},};

以上内容仅是为了提供默认值,链接器将该节标记为可加载,并将其包括在适当的节列表中。

现在,我希望编辑生成的ELF并根据自己的选择修改该结构的内容。我已经有一个二进制文件,其中包含该部分的内容。 我尝试使用--remove-section和--add-section,但无法将新的部分强制成为这些部分的一部分。

不确定--update-section是否在这里有用,但是我拥有的微控制器在objcopy中没有--update-section,当我尝试使用它的公共版本时,它表示它不支持bfd目标

FWIW,ELF不使用任何可重定位的地址等。所有地址都是内存中的物理地址。

有没有办法做到这一点?我只需要替换该部分的内容并修改其长度即可。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)