用于构建powerpc e500mc的交叉编译器的newlib是强制性的吗?

时间:2015-05-27 13:21:25

标签: gcc powerpc

我正在尝试使用目标powerpc-e500mc-eabi为PowerPC e500mc构建交叉编译器。正如一些网站所提到的,我首先构建了一个bootstrap编译器。然后尝试用它编译newlib。但我得到了一些错误,

from pandas import read_hdf, DatetimeIndex
from datetime import timedelta
import pytz

def getRows(file, dataset, index):

    if len(index) == 1:
        start = index.date[0]
        end = (index.date + timedelta(days=1))[0]
    else:
        start = index.date.min()
        end = (index.date.max() + timedelta(days=1))

    where = '(index >= "' + str(start) + '") & (index < "' str(end) + '")'

    df = read_hdf(file, dataset, where=where)

    df = df.groupby(level=0).last().reindex(index, method='pad')

    return df

我想知道,我们可以在没有newLib的情况下直接编译GCC交叉编译器。此外,任何人都可以告诉我powerpc e500mc架构的确切先决条件。我有GMP,MPC,MPFR,BinUtils不确定是否需要newLib。

2 个答案:

答案 0 :(得分:1)

你可以在没有任何C库的情况下构建gcc,不需要newlib。请从下面的crosstool-ng构建中找到依赖项列表。

1。替代

  • 您可以手动构建所有内容,这显然是您尝试做的事情。这是可能的,但要记住各种约束,例如,如果您的文件系统不区分大小写或者您在源目录中构建,则构建可能会失败。除了所有依赖项及其版本。

  • 你让crosstool-ng构建你的交叉工具链。 Crosstool-ng主要是自包含的,几乎没有外部依赖。它将为您下载并构建正确版本的所有依赖项,并提供各种示例配置。它将检查像不区分大小写的文件系统之类的障碍。它允许您以与配置Linux内核类似的方式配置交叉工具链。我已经在几个主机系统上使用它多年来构建了各种交叉工具链而没有任何问题,包括Linux,OS X(自制程序)和Windows(cygwin)。你可以在这里找到它:http://crosstool-ng.org/

我将列出通过crosstool-ng构建交叉工具链所需的步骤。我今天在Windows(cygwin)上使用来自git的crosstool-ng测试了这个设置。

2。下载crosstool-ng,构建并安装它。

按照

中的步骤操作
  

docs / 2 - 安装crosstool-NG.txt。

3。配置交叉工具链。

按照

中的步骤操作
  

docs / 3 - 配置toolchain.txt。

4。实施例

mkdir powerpc-e500v2-eabi
cd powerpc-e500v2-eabi
ct-ng powerpc-e500v2-linux-gnuspe

最后一步将从样本中创建一个配置,我认为该配置与您想要的相似。在下一步中,我们将调整此配置,标准为

  • 没有操作系统
  • 没有C库
  • EABI
  • 你想要e500mc,样品是e500v2。我完全按照您的要求调整配置。

4.1。构造

ct-ng menuconfig
  • 操作系统
    • 目标操作系统
      • 选择裸机
  • C-库
    • C库
      • 选择无
  • 目标选项
    • ABI
      • 选择EABI
  • C编译器
    • gcc版
      • 选择5.1.0(示例配置了gcc 4.6.4 这里)
    • 取消选择C ++(因为您不需要C库 或者它会拉出额外的依赖关系)
  • 调试设施
    • 取消选择gdb(除非您需要它,可以提取额外的依赖关系)

4.2。构建

ct-ng build.4

Crosstool-ng将下载并构建以下依赖项。

  • GMP-6.0.0a
  • MPFR-3.1.2
  • ISL-0.14
  • MPC-1.0.2
  • 的binutils-2.25
  • GCC-5.1.0

它将在

中安装交叉工具链
${HOME}/x-tools/powerpc-e500v2-eabi.

您可以在配置中指定其他安装前缀。

答案 1 :(得分:0)

可以通过创建指向 powerpc-e500mc-eabi-gcc 的符号链接 powerpc-e500mc-eabi-cc 来修复此构建问题。