LX-1164微处理器连接程序的设计与实现
论文摘要
连接程序是CPU编译工具链中非常重要的一个环节,开地发一个新的CPU必须也要开发相应的连接程序。在开发64位LX-1164安全微处理器连接程序过程中,本文深入研究了连接程序的原理及工作过程。根据LX-1164安全微处理器体系结构的需求,设计了一个基于两遍扫描过程的连接程序LX-Linker,该连接程序在进行地址重定位时具有强制检查地址越界的功能,增强了系统的安全性。本文对连接程序的操作对象-二进制目标文件也做了一定描述,并在32位ELF的基础上改进了与LX-1164体系相适应的内容。文中也给出了LX-Linker实现过程当中的模块划分、数据结构设计以及重要函数的分析。此文对国内连接程序的开发者具有普遍参考意义。
论文目录
中文摘要英文摘要第一章 引言1.1 课题背景1.2 课题主要研究内容及意义1.3 本论文的组织结构第二章 连接程序2.1 概述2.2 连接装配程序发展历史2.2.1 编译并执行装配方案2.2.2 一般的连接装配方案2.2.3 绝对装配程序方案2.2.4 子程序连接方案2.2.5 重定位装配方案2.3 GNU简介2.4 GNU LD概述2.5 GNU LD实现方法与技术第三章 二进制目标文件3.1 ELF3.1.1 ELF格式基本框架3.1.2 ELF头3.1.3 节与节头3.1.4 段与程序头3.2 LX-1164体系结构的 ELF第四章 LX-1164硬件平台4.1 处理器概述4.2 连接程序相关的处理器特征4.2.1 字节顺序和数据对齐4.2.2 指令格式4.2.3 寻址方式第五章 LX-1164连接程序设计实现5.1 模块划分5.2 重要数据结构5.3 模块连接时的存储布局设计5.4 第一遍扫描过程的设计5.5 第二遍扫描过程的设计5.6 重要函数设计与解析5.6.1 生成和释放哈希表函数5.6.2 添加符号信息到哈希表函数5.6.3 符号表的写入函数5.6.4 获取重定位节的内容函数5.6.5 查找添加字符串函数5.6.6 遍历哈希表函数5.6.7 判断是否越界函数第六章 连接程序控制脚本的编写6.1 脚本文件6.2 编写 LX-1164连接程序控制脚本6.3 添加脚本到 BINUTILS包6.3.1 添加 BFD后端6.3.2 添加修改 LD脚本文件第七章 运行结果分析7.1 连接程序运行结果7.1.1 设计一个冒泡排序程序,用 LX-1164的汇编语法实现7.1.2 用汇编程序汇编该文件7.1.3 使用连接程序连接结果7.2 使用软件模拟器测试第八章 总结与展望参考文献致谢在学期间发表的学术论文和参加科研情况
相关论文文献
本文来源: https://www.lw50.cn/article/e46e5d3b9e34b24b97b991bb.html