【发布时间】:2010-11-12 00:43:03
【问题描述】:
对my answer describing how to use linker scripts to make a ctor-like function list 的一个很好的评论指出,最近的 GNU ld 已经大大改进了对使用-Wl,-T... 和INSERT BEFORE/INSERT AFTER 将新部分移植到系统链接器脚本中的支持。这让我想到了其他链接器脚本技巧。
对于网卡固件,我修改了链接描述文件以将固件的运行时模块组合在一起,以便它们都位于可以位于 L1 缓存中而不会发生冲突的连续块中。为了清理掉队者(我无法按.o 分组),我在各个函数上使用了部分属性。性能计数器验证它确实有效(将 L1 指令缓存未命中减少到几乎为零)。
您还用链接器脚本完成了哪些其他聪明的事情?
【问题讨论】: