【问题标题】:Porting GCC to new architectures [closed]将 GCC 移植到新架构 [关闭]
【发布时间】:2011-09-08 21:12:41
【问题描述】:

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

  • ARM (TI OMAP)
  • TI MSP430
  • x86

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

【问题讨论】:

  • 我擅长 ARM (TI OMAP)、TI MSP430 和 x86 架构
  • 复制了 OP 之前的问题,Porting GCC to new architectures。改进您现有的问题,不要转发。
  • 你已经第三次问这个问题了。前两个问题已经结束。那么为什么你认为这次不会呢?我也认为我们不是合适的观众。如果你真的想要/需要这样做,你应该在 GCC 邮件列表中询问。
  • 另外,GCC 已经支持 ARM 和 x86 就好了,MSP430 as well。那么您想将 GCC 移植到哪种架构?
  • @srikanthM:这个问题太宽泛了。要回答这个问题,可以写一整本。几百字是无法合理回答的。请访问 GCC 邮件列表并在那里寻求帮助和指导,他们可以告诉您从哪里开始、阅读什么、学习什么。

标签: architecture gcc porting cross-compiling


【解决方案1】:

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

  • 目标体系结构由内而外。从字面上看,否则你怎么知道如何将 C 转换为它?
  • C 标准,如 C89、C99 等
  • 编译器的工作原理。这方面有整本书。

为了开始这个过程,您通常会在您的主机架构上从 C 到汇编的翻译开始,这样您就可以为目标架构(但在您的主机上)编译一些东西。然后,您将进入可以在主机上为目标架构编译编译器的阶段。在这个阶段,您在目标上生成一个编译器,然后可以自编译,因此您现在在目标上拥有 gcc。

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

【讨论】:

    【解决方案2】:

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

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

    顺便说一句,你的目标架构是什么?

    【讨论】:

    • 感谢您的回复,如前所述,我的目的是学习 gcc 的移植,我只是好奇学习。我并不是说 gcc 不适用于这些架构
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多