【问题标题】:u-boot - Source object has EABI version 5, but target has EABI version 0u-boot - 源对象具有 EABI 版本 5,但目标具有 EABI 版本 0
【发布时间】:2014-02-27 12:34:30
【问题描述】:

当我尝试编译 u-boot 时出现以下错误:

此链接中解释了错误:

http://www.denx.de/wiki/DULG/SourceObjectHasEABIVersion4ButTargetHasEABIVersion0

但是,我不知道在源代码中哪里可以更改。

【问题讨论】:

  • 在“文件”选项卡下尝试不同的工具链,例如来自gnuarm.com 的工具链。如果您不是为 ARM Cortex 构建,而是为 926ej-s 构建,那么 GCC 3.4 是经过验证的引导加载程序工具链。
  • 它适用于另一个工具链。但是,我想知道是否有办法使用当前工具链编译它,如上面的链接中所述。

标签: u-boot


【解决方案1】:

我换行了

PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)

在 cpu/arm926ejs/config.mk 到

PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=aapcs-linux)

这一次,我收到以下错误:

/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(_dvmd_lnx.o): In function `__aeabi_ldiv0':
/home/timesys/work/ea313x_factory/factory-HEAD/build_armv5l-timesys-linux-uclibcgnueabi/gcc-4.5.3/gcc-4.5.3/libgcc/../gcc/config/arm/lib1funcs.asm:1265: undefined reference to `raise'
/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(bpabi.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(_divdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/home/ubuntu/Desktop/lpc3250/toolchain-final-armv5l-timesys-linux-uclibcgnueabi/bin/../lib/gcc/armv5l-timesys-linux-uclibcgnueabi/4.5.3/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

问题似乎与 libgcc.a 有关。

我学到的是 u-boot 用很少的编译器编译。

链接

http://communities.mentor.com/community/cs/archives/arm-gnu/msg02478.html

将我的问题解释为

这是一个很容易解决的问题。首先你需要明白 ARM EABI 和 ARM GNU/Linux 工具链是不同的。 Linux 内核 和应用程序使用 ARM GNU/Linux 工具链编译,而 引导加载程序使用 ARM EABI 工具链编译。

U-boot 是一个裸机应用程序,因此使用 ARM EABI 工具链。那是编译U-boot和其他非Linux的最佳方式 应用程序。可以用 Linux 工具链编译 U-boot 但不推荐。

【讨论】:

    猜你喜欢
    • 2016-05-12
    • 2012-02-14
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2010-09-22
    • 2014-03-07
    • 1970-01-01
    相关资源
    最近更新 更多