# riscv-linker **Repository Path**: mixinju/riscv-linker ## Basic Information - **Project Name**: riscv-linker - **Description**: Go语言实现的RISCV 64位的链接器 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-01-07 - **Last Updated**: 2025-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目介绍 ![ELF文件格式图示](./doc/ELF_Format.png) 此项目主要实现了RISC-V 64位的链接器,仅仅支持静态链接,通过本项目,可以对EFL文件更加熟悉,这也是前提, 关于 `ELF` 文件,可以参考 [System V Application Binary Interface](https://refspecs.linuxbase.org/elf/gabi4+/contents.html) ## 运行方式 > 建议使用docker搭建环境,关于 `docker` 的基本使用参考 [Docker-从入门到实践](https://yeasy.gitbook.io/docker_practice/) | 开发平台 | 系统版本 | Go SDK | |:------:|:-----------:|:------:| | GoLand | Mac OS 13.1 | 1.19.2 | ```bash # 搭建环境 make docker_build #构建 docker 镜像,镜像名为rvld make docker_run # 启动构建的镜像容器,运行结束即销毁该容器 make run # 运行程序 make test # 测试程序基本功能 make build # 构建程序 ``` ## 致谢&参考文档 [ELF v1.2手册-(赵东阳翻译)](./doc/Understanding_ELF.pdf) [System V ABI 详情](https://refspecs.linuxbase.org/elf/gabi4+/contents.html) [.eh_frame 相关](https://www.cnblogs.com/pwl999/p/15534946.html#3_eh_frame__772) [中科院 PLTC 实验室课程主页](https://ksco.cc/rvld/) [mold-高性能链接器](https://github.com/rui314/mold) [GOLD(gnu package) 作者博客](https://www.airs.com/blog) [ELF文件格式学习-博客园](https://www.cnblogs.com/fang92/p/4782730.html)