问题描述
我一直在尝试在运行 Arch Linux 的 amd64 核心 i7 机器上为 powerpc64(特别是 G5)设置交叉编译器。我一整天都在尝试设置它,但遇到了一些障碍。我一直在使用 this guide 来设置交叉编译器,但已将其用于 PowerPC。
我尝试设置的工具链有:
-
Linux 内核 5.4.80-gentoo-r1,我使用这个内核是因为我听说维护 ppc 变体的发行版通常有特殊的/从未上过的补丁,使一切都更有用。
-
binutils 2.35
-
gcc 10.2.0
-
glibc 2.32
到目前为止,我能够很好地安装内核头文件。我使用了命令:
export TARGET=powerpc64-g5-elf
export PREFIX=/usr/local/$TARGET
export PATH=$PATH:$PREFIX/bin
export SYSROOTDIR=$PREFIX/powerpc64-g5-linux-glibc/sysroot
make g5_defconfig
sudo make ARCH=powerpc INSTALL_HDR_PATH=$SYSROOTDIR/usr headers_install
在那之后,我构建并安装了 stage-1 gcc:
../gcc-10.2.0/configure --target=powerpc64-g5-linux-gnu \
--disable-fast-install \
--with-endian=big \
--disable-werror \
--disable-multilib \
--enable-languages=c \
--prefix=$PREFIX \
--without-headers \
--enable-shared \
--without-newlib \
--disable-c99 \
--with-sysroot=$SYSROOTDIR
make all-gcc -j6
sudo make install-gcc
这构建得很好。现在到 glibc...
../glibc-2.32/configure --target=powerpc64-g5-linux-gnu \
--build=x86_64-pc-linux-gnu \
--host=powerpc64-g5-linux-gnu \
--with-headers=$SYSROOTDIR/usr/include \
--prefix=$PREFIX \
--disable-werror
这是我收到错误的时候:
configure: error: this configuration requires -mlong-double-128 IBM extended format support
很遗憾,我无法解决此问题。我尝试使用选项 --with-long-double-format=ibm
重建 gcc stage 1,但由于 G5 没有 IBM long doubles,因此构建失败。
# Despite saying "configure error" this happens at build time
configure: error: Configuration option --with-long-double-format is only supported if the default cpu is power7 or newer
我也试过 --with-long-double-128
,gcc 会构建,但 glibc 仍然抱怨需要 IBM 浮点数。出于好奇,我将 gcc 目标更改为 powerpc64-power7-linux-gnu
、powerpc64-linux-gnu
和 powerpc64-unkown-linux-gnu
,但仍然出现错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)