【问题标题】:Porting GCC to new architecture将 GCC 移植到新架构
【发布时间】:2014-10-01 02:35:52
【问题描述】:

我是 GCC 新手,打算将 GCC 编译器移植到新架构。

  • 第 1 步:为新架构实施 GCC (gcc-4.6.1)
  • 第 2 步:为新架构实施 binutils (binutils-2.21.1)
  • 第 3 步:...

现在我处于第 1 步,我的问题是,
我可以在不实现 binutils 和其他工具的情况下构建 GCC。输出喜欢“{target}-linux-elf-gcc” 并且需要使用以下命令获取和检查程序集输出;

$ {new-machine}-linux-elf-gcc -S main.c

【问题讨论】:

标签: linux gcc architecture cross-compiling porting


【解决方案1】:

如果我正确理解您的问题,您想为给定的体系结构编译您的 GCC 版本。

下载 binutils 包,对其进行配置和编译,安装它并准备好构建 GCC。

下载您感兴趣的GCC版本包并配置参数,清楚地解释目标架构和其他细节。 有关更多配置帮助,请参阅此页面:https://gcc.gnu.org/install/configure.html

如果你在你的本地机器上构建这个 GCC,很可能是一组内核头文件 您的平台将可用,您无需关心标题。 但是对于交叉编译,必须使为您的目标配置的源树中的一组内核头文件可用。

示例配置,用于本机编译器: ./configure --prefix=前缀

对于原生交叉编译器: ./configure --target=powerpc-linux --prefix=/usr --with-headers=/usr/src/linux/include --enable-languages=c --disable-threads

一旦你构建了你的 GCC,之后你需要构建 glibc,使用新生成的 GCC 工具链。

在此之后,您应该能够使用新创建的工具链编译任何其他包。 如果您想编译一个在该测试程序中具有较少依赖项的小型测试程序,您可以在准备好 GCC 后执行此操作。

【讨论】:

    猜你喜欢
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多