将GCC移植到新架构

时间:2011-06-05 19:57:52

标签: architecture gcc porting cross-compiling

如何将gcc移植到新架构?我对以下架构特别感兴趣:

  • ARM(TI OMAPs)
  • TI MSP430
  • 86

但是关于如何移植到任何架构的指导将在某种程度上解决我的问题。

2 个答案:

答案 0 :(得分:6)

学习移植gcc将是一项非常重要的任务。作为期望的粗略指南,您需要知道:

  • 目标架构由内而外。从字面上看,否则你怎么知道如何将C转换成它呢?
  • C标准,所以C89,C99等。
  • 编译器的工作原理。这里有完整的书籍。

为了启动该过程,您通常会从主机体系结构上的C-to-assembly转换开始,这样您就可以为目标体系结构(但在主机上)编译一些内容。然后,您将进入可以在主机上为目标体系结构编译编译器的阶段。在这个阶段,你在目标上生成一个编译器,然后可以自编译,所以你现在在目标上有gcc。

完成这项工作后,实际移植gcc只是从目标主机上构建gcc的情况。如果您对此感兴趣,那么Linux from scratch是一个非常好的指南,可以帮助您完成所有需要做的事情(因为gcc除其他外,还是移植内核的先决条件)。

答案 1 :(得分:1)

GCC很可能已经可用于您想要的架构,在这种情况下,您希望GCC作为交叉编译器(例如,在带有Windows的x86机器上,使用gcc对ARM芯片进行交叉编译)。您可以看到gcc here的目标。

请注意,您很可能需要使用该目标自行编译GCC。

BTW,您的目标架构是什么?