GNU ld 2.14连接器选项详解:兼容与行为变化
需积分: 49 174 浏览量
更新于2024-08-06
收藏 392KB PDF 举报
GNU LD 是GNU工具链中的一个重要组成部分,专门用于动态链接和静态链接,负责将目标程序和共享库整合成可执行文件。在GNU LD 2.14版本中,该连接器引入了一些关键功能和变化,以适应不同系统的兼容性和安全性需求。
1. **连接器行为更改**:在2.14版本之前,连接器默认会尝试连接未知输入文件,但在新版本中,这一行为被改为拒绝,以提高安全性。如果用户希望恢复旧的行为,可以使用`--accept-unknown-input-arch`选项。
2. **兼容性选项**:
- `-assert KEYWORD`:此选项主要用于与SunOS兼容,实际在连接过程中被忽略。
- `-Bdynamic`或`-dy`:在支持共享库的平台上,这是默认行为,指示连接器连接动态链接库。可以多次使用该选项来影响后续的`-l`选项。
- `-Bgroup`:在动态节的'DT_FLAGS_1'入口上设置标志,限制运行时连接器只在共享库的组内搜索,需要`--no-undefined`作为隐式设置。
- `-Bstatic`、`-dn`或`-non_shared`、`-static`:这些选项表示不连接共享库,同样是为了兼容性,可以通过多次使用影响`-l`选项。
- `-Bsymbolic`:创建共享库时,将全局符号引用绑定到共享库中的定义,防止重载,仅限于支持共享库的ELF平台。
3. **检查节地址**:`--check-sections`和`--no-check-sections`选项控制连接器在分配节地址后是否检查地址重叠。默认情况下,连接器会检查以避免内存冲突,但使用这些选项可以关闭此检查。
4. **文档与许可证**:本文档是关于GNU LD 2.14的中文手册,遵循GNU自由文档许可证,提供了连接器的详细使用指南,包括但不限于介绍、引言和操作细节。
5. **目录结构**:手册分为多个章节,如概述、引言等,每个章节深入探讨了连接器的不同方面,包括但不限于连接器的工作原理、命令选项的解释和应用场景示例。
总结来说,GNU LD 2.14版本的更新着重于增强安全性、兼容性和灵活性,同时提供了详细的文档以帮助用户理解和使用。理解这些选项和行为变化对于有效利用和管理链接过程至关重要。
2023-12-11 上传
2023-07-17 上传
2023-07-11 上传
2023-05-22 上传
2023-09-16 上传
2024-09-10 上传
幽灵机师
- 粉丝: 35
- 资源: 3901
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码