Gcc crosstool ng';劳工处给予「;源对象a/b/内置.o具有EABI版本5,但目标b/b/内置.o具有EABI版本0”;在编译内核时

Gcc crosstool ng';劳工处给予「;源对象a/b/内置.o具有EABI版本5,但目标b/b/内置.o具有EABI版本0”;在编译内核时,gcc,kernel,eabi,crosstool-ng,Gcc,Kernel,Eabi,Crosstool Ng,我刚刚用crosstool ng为“arm未知eabi”创建了一个gcc11交叉编译器来编译我的内核(android用于msm8974芯片组),但在链接的某个点上,LD给出了关于eabi版本的错误,但目标文件甚至不存在。 以下是crosstool工具链的组件: 比努蒂尔斯-2.34.tar.xz gcc-git-46a58c77.tar.bz2 gettext-0.20.1.tar.xz gmp-6.2.0.tar.xz isl-0.22.tar.xz libiconv-1.16.tar.gz

我刚刚用crosstool ng为“arm未知eabi”创建了一个gcc11交叉编译器来编译我的内核(android用于msm8974芯片组),但在链接的某个点上,LD给出了关于eabi版本的错误,但目标文件甚至不存在。 以下是crosstool工具链的组件:

  • 比努蒂尔斯-2.34.tar.xz
  • gcc-git-46a58c77.tar.bz2
  • gettext-0.20.1.tar.xz
  • gmp-6.2.0.tar.xz
  • isl-0.22.tar.xz
  • libiconv-1.16.tar.gz
  • mpc-1.1.0.tar.gz
  • mpfr-4.0.2.tar.xz
  • ncurses-6.2.tar.gz
  • newlib-3.3.0.tar.gz
给出错误的完整命令如下:

  • /root/x-tools/arm未知eabi/bin/arm未知eabi ld-EL-r-o驱动程序/gpu/build-in.o驱动程序/gpu/drm/build-in.o驱动程序/gpu/ion/build-in.o
  • /根/x-tools/arm unknown eabi/bin/arm unknown eabi ld:错误:源对象驱动程序/gpu/ion/build-in.o具有eabi版本5,但目标驱动程序/gpu/build-in.o具有eabi版本0
  • /root/x-tools/arm unknown eabi/bin/arm unknown eabi ld:无法合并文件驱动程序/gpu/ion/build-in.o的目标特定数据
查看这些文件:

  • drivers/gpu/build-in.o:无法打开“drivers/gpu/build-in.o”(没有这样的文件或目录)
  • 驱动程序/gpu/drm/build-in.o:ELF 32位LSB可重定位,ARM,版本1(ARM),未剥离
  • 驱动程序/gpu/ion/build-in.o:ELF 32位LSB可重定位,ARM,EABI5版本1(SYSV),未剥离
真正的目标(drivers/gpu/build-in.o)甚至不存在。DRM one(没有显示为EABI5)虽然非常小(320字节,我想它是由AR创建的?)

有了另一个工具链,一切都很好地与这个完全相同的内核代码、Makefile等配合使用。我以前使用过musl gcc 10