1) As we might know, Gentoo has powerpc64le-unknown-linux-gnu compiler leno@localhost ~ $ powerpc64le-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/usr/powerpc64le-unknown-linux-gnu/gcc-bin/5.3.0/powerpc64le-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/powerpc64le-unknown-linux-gnu/5.3.0/lto-wrapper Target: powerpc64le-unknown-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-5.3.0/work/gcc-5.3.0/configure --host=powerpc64le-unknown-linux-gnu --build=powerpc64le-unknown-linux-gnu --prefix=/usr --bindir=/usr/powerpc64le-unknown-linux-gnu/gcc-bin/5.3.0 --includedir=/usr/lib/gcc/powerpc64le-unknown-linux-gnu/5.3.0/include --datadir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0 --mandir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/man --infodir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/info --with-gxx-include-dir=/usr/lib/gcc/powerpc64le-unknown-linux-gnu/5.3.0/include/g++-v5 --with-python-dir=/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 5.3.0 p1.0, pie-0.6.5' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --enable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --enable-lto --without-isl --enable-libsanitizer Thread model: posix gcc version 5.3.0 (Gentoo 5.3.0 p1.0, pie-0.6.5) 2) And the supported emulations leno@localhost ~ $ powerpc64le-unknown-linux-gnu-ld -V GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 Supported emulations: elf64lppc elf32lppc elf32lppclinux elf32lppcsim 3) But when I set CHOST="powerpc64le-unkown-linux-gnu" in Gentoo and execute aclocal, automake, libtoolize --copy --force, autoconf. When I glance in the latest m4/libtool.m4 : if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in ... powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; ... *64-bit*) case $host in ... powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; ... seems linked to $LD='$LD-ld -m elf64ppc' and failed to compile packages. 4) Below is my workaround patch and works fine for this case. If this is OK for you, Could this to be merged in upstream? Thanks leno@localhost ~/libtool $ cat configure-libtool-with-ppc64le.patch --- m4/libtool.m4.orig 2016-04-23 16:35:57.383197077 +0000 +++ m4/libtool.m4 2016-04-23 16:36:40.623197724 +0000 @@ -1417,10 +1417,10 @@ x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; - powerpcle-*linux*) + powerpcle-*linux*|powerpc64le-*linux*) LD="${LD-ld} -m elf64lppc" ;; - powerpc-*linux*) + powerpc-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) Reproducible: Always Actual Results: $LD='ld -m elf64ppc' Expected Results: $LD='ld -m elf64lppc'
i've merged your patch into our libtool-2.4.6-r3 since upstream hasn't moved. and because it looks correct to me :). https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80ed801a322763a07fa50b04726a1fefb7ee2356