编译GCC for aarch64-linux

1. 下载binutils ,因为GCC编译过程中需要:

  1. as - GNU汇编器(将汇编代码转换为目标文件)
  2. ld - GNU链接器(将目标文件链接为可执行文件)
  3. ar - 静态库归档工具
  4. objdump, objcopy, readelf等工具
mkdir binutils-xxx/build && cd binutils-xxx/build
../configure \
  --target=aarch64-linux-gnu \
  --prefix=${HOME}/build_aarch64_gcc/gcc-x86_64-aarch64-linux-gnu \
  --disable-multilib \
  --disable-shared \
  --enable-static \
  --with-sysroot=${HOME}/build_aarch64_gcc/ubuntu-base-22.04.5-base-arm64
make -j$(nproc)
make install

2. 编译GCC:

首先需要安装以下数学相关的库,原因是GCC的代码生成和优化过程中大量使用高精度数学计算,这些库提供了必要的数学支持:

sudo apt install -y libgmp-dev libmpfr-dev libmpc-dev

然后从GCC官网下载源码:

mkdir gcc-xxx/build && cd gcc-xxx/build
../configure \
  --target=aarch64-linux-gnu \
  --prefix=${HOME}/build_aarch64_gcc/gcc-x86_64-aarch64-linux-gnu \
  --enable-languages=c,c++,fortran \
  --with-sysroot=${HOME}/build_aarch64_gcc/ubuntu-base-22.04.5-base-arm64 \
  --with-build-sysroot=${HOME}/build_aarch64_gcc/ubuntu-base-22.04.5-base-arm64

make -j$(nproc)
make install
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 在之后的学习中,需要在自己的mips架构cpu上编写一系列工具。不想使用mips汇编代码编写这些工具,希望使...
    greyring阅读 14,050评论 0 0
  • 大家肯定都知道计算机程序设计语言通常分为机器语言、汇编语言和高级语言三类。高级语言需要通过翻译成机器语言才能执行,...
    千锋阅读 1,328评论 0 0
  • 转载自:[深入浅出GCC编译器](深入浅出GCC编译器 (qq.com)[https://mp.weixin.qq...
    江河湖海洋阅读 5,090评论 0 1
  • 最近打算用ScyllaDB做分布式数据库,但在CentOS7.6上发现GCC太老需要升级,GCC并不好编译需...
    Ryan老房阅读 8,155评论 0 1
  • 大家肯定都知道计算机程序设计语言通常分为机器语言、汇编语言和高级语言三类。高级语言需要通过翻译成机器语言才能执行,...
    千锋阅读 1,054评论 0 0

友情链接更多精彩内容