Electronic Joint Business

Solution for E-Business

Binutils 移植指南 (一)

本文是对 Binutils 现有文档的补充,旨在帮助那些第一次将 Binutils 工具移植到新的硬件架构的软件工程师。本文是根据作者的实际经验编写的。难免会有疏漏,欢迎读者提出任何改善建议。1 一、 为什么写这篇文章? 虽然 Binutils 项目中包含了 100 多页的内部指南, 但本文主要针对那些初次进行 Binutils 开发/移植的人。Binutils 内部指南存在一些缺陷: 它更倾向于对每个函数进行详细描述,而不是跟出宏观视图。 文档尚不完整,许多有用章节尚待编写。(例如有关 relocation详细信息) 。 因此,当工程师初次尝试将 Binutils 移植到新的架构上时,他总要不断阅读源代码来弄明白 Binutils 如何工作,进而了解如何移植到其他体系架构。 。 本文将讨论如何将紧凑 RISC (又称 CR16) 体系结构植入 Binutils , 希望这些学习经验可以帮助到其他人, 特别是那些正在寻找将 Binutils工具移植到新架构的工程师。有关 CR16 的代码可以在最新的 Binutils 中获得。 二、Binutils 文件的组织结构 Binutils 源代码被按目录组织,其中一些组件是类库,仅供内部或其他项目使用。比如 GNU GDB 调试器会用到 BFD 类库。这些类库大多有自己的顶层目录。主要的目录列举如下: 这些目录包含如下组件: include: 组件间共享的一些头文件,而组件私有的头文件则保存在该组件自有的目录中。 bfd: 即 Binary File […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.