博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
取得ld默认的ldscript配置
阅读量:6844 次
发布时间:2019-06-26

本文共 641 字,大约阅读时间需要 2 分钟。

有时候我们需要修改一些链接时的参数,但是不想从零开始写一个链接脚本,这个时候可以利用命令

ld --verbose > my_ldscript

通过这条命令得到的my_ldscript中有两行“==========================”分割线,取出两条分割线中间的内容就是ld默认使用的脚本了。

有了这个脚本,我们就可以根据自己的需要调整一下链接时的参数了。

比如,我在64位x86下,将这一行

PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;

修改成

PROVIDE (__executable_start = SEGMENT_START("text-segment",0x800000)); . = SEGMENT_START("text-segment", 0x800000) + SIZEOF_HEADERS;

编译的时候使用-T指定链接脚本

gcc -c test.c gcc -o test -T my_ldscript test.o

编译出来的程序代码段就是从0x800000以上空间开始的了。

转载于:https://www.cnblogs.com/richardustc/archive/2013/04/09/3011373.html

你可能感兴趣的文章
5600高流明更清晰 NEC CF6600U投影试用
查看>>
甘肃培育十大生态产业 文旅融合“爆发式”增长
查看>>
广铁今年春运预计发送旅客5930万人次
查看>>
欧洲时报:这三家法国大学拒绝上涨外国学生注册费
查看>>
区块链每日快讯(0125)-明星项目影视链MDC涉嫌造假
查看>>
全球皆可访问的 Google Codelabs 网站
查看>>
良好的 API 设计指南
查看>>
ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(中)
查看>>
Rust 交叉编译与条件编译总结
查看>>
Netflix推荐算法,让每个人看到不一样的电影海报
查看>>
【漫画】AI小猪的一生
查看>>
Android P 开发者预览版 · 操作指南
查看>>
技术问答集锦(三)
查看>>
Java 形参与实参
查看>>
JavaScript中this关键字
查看>>
抽丝剥茧 - 实例简析重构代码的三板斧
查看>>
React Native探索(一)环境搭建与Hello World(Windows/Mac)
查看>>
微服务之分布式配置中心
查看>>
异步编程需要“意识”
查看>>
阿里P7高级架构师分享6年多的Java工作经验(想冲破瓶颈者必看)
查看>>