You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对齐默认链接器脚本中的段?现有操作为何未生效?

关于LD扩展默认链接器脚本时位置计数器无法影响后续段地址的问题

LD目前有两种扩展内置默认链接器脚本的方式:

  • 在命令行提供额外的链接器脚本,不使用-T选项(即像目标文件一样处理);
  • 通过-T选项提供包含INSERT (BEFORE | AFTER)命令的链接器脚本。

我尝试通过这些方式添加MEMORY映射、对齐默认脚本中的部分段并添加符号,示例脚本如下:

MEMORY
{
  ram (rwx) : ORIGIN = $(1), LENGTH = 128M
}
SECTIONS {
  . = ALIGN(4*1024*1024);
  __init_start = . ;
} INSERT BEFORE .init

部分功能正常(MEMORY映射生效、__init_start符号在正确偏移/对齐位置生成),但后续的.init段偏移未发生改变。我尝试了多种变体均无效,请问是操作有误还是当前根本无法实现?这或许是提议的扩展语法的适用场景之一。

若当前确实无法实现,希望了解原因:为何诸多属性可被覆盖,但位置计数器更新无法改变现有段的地址?


内容的提问来源于stack exchange,提问作者stefanct

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:25:24