GNU bug report logs - #23348
[m4/libtool.m4] linker error for powerpc64le-unknown-linux-gnu

Previous Next

Package: libtool;

Reported by: Leno Hou <lenohou <at> gmail.com>

Date: Sat, 23 Apr 2016 17:33:02 UTC

Severity: normal

To reply to this bug, email your comments to 23348 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-libtool <at> gnu.org:
bug#23348; Package libtool. (Sat, 23 Apr 2016 17:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Leno Hou <lenohou <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-libtool <at> gnu.org. (Sat, 23 Apr 2016 17:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leno Hou <lenohou <at> gmail.com>
To: bug-libtool <at> gnu.org, Zhao Kevin <kevin.zhaoshuai <at> gmail.com>, 
 Mike Frysinger <vapier <at> gentoo.org>
Subject: [m4/libtool.m4] linker error for powerpc64le-unknown-linux-gnu
Date: Sun, 24 Apr 2016 00:46:53 +0800
[Message part 1 (text/plain, inline)]
Hi all,

 1) As we might know, Gentoo has powerpc64le-unknown-linux-gnu compiler

leno <at> 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 <at> 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 <at> 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*)

*Leno Hou*
E-mail :  lenohou <at> gmail.com
[Message part 2 (text/html, inline)]

Information forwarded to bug-libtool <at> gnu.org:
bug#23348; Package libtool. (Tue, 21 Feb 2017 22:46:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mike Frysinger <vapier <at> gentoo.org>
To: Leno Hou <lenohou <at> gmail.com>
Cc: Zhao Kevin <kevin.zhaoshuai <at> gmail.com>, bug-libtool <at> gnu.org
Subject: Re: [m4/libtool.m4] linker error for powerpc64le-unknown-linux-gnu
Date: Tue, 21 Feb 2017 17:45:14 -0500
[Message part 1 (text/plain, inline)]
On 24 Apr 2016 00:46, Leno Hou wrote:
> Hi all,
> 
>  1) As we might know, Gentoo has powerpc64le-unknown-linux-gnu compiler
> 
> leno <at> 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 <at> 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

your patch looks correct to me.  i'm attaching a version that can be
applied to git since your original looks mangled.
-mike
[0001-m4-libtool.m4-linker-error-for-powerpc64le-unknown-l.patch (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-libtool <at> gnu.org:
bug#23348; Package libtool. (Sun, 14 Jan 2024 03:20:01 GMT) Full text and rfc822 format available.

Message #11 received at 23348 <at> debbugs.gnu.org (full text, mbox):

From: Mike Frysinger <vapier <at> gentoo.org>
To: Leno Hou <lenohou <at> gmail.com>
Cc: Zhao Kevin <kevin.zhaoshuai <at> gmail.com>, 23348 <at> debbugs.gnu.org
Subject: Re: [m4/libtool.m4] linker error for powerpc64le-unknown-linux-gnu
Date: Sat, 13 Jan 2024 22:19:29 -0500
[Message part 1 (text/plain, inline)]
On 24 Apr 2016 00:46, Leno Hou wrote:
>    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 :

i took another look at this patch.  it isn't making sense to me, and your
commit message doesn't have an explanation as to why you need it.  the only
thing you've written is "i looked at the file, and it looks incorrect".

do you have a build failure/log somewhere to share ?

> 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.

this code is really for multilib situations.  it's only needed when you want
to compile for a diff ABI than the toolchain is defaulting to.

so if --host=powerpc64le-linux-gnu, it should produce 64-bit binaries, and
libtool doesn't have to do anything.  that's why powerpc64 isn't listed in
the 64-bit section.

adding it here would only matter if your powerpc64le-linux-gnu is producing
32-bit binaries by default, and that doesn't make sense.  and as you can
see from the arch list in this section, no other target does this.
-mike
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-libtool <at> gnu.org:
bug#23348; Package libtool. (Sun, 14 Jan 2024 03:44:02 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Sam James <sam <at> gentoo.org>
To: Mike Frysinger <vapier <at> gentoo.org>
Cc: Zhao Kevin <kevin.zhaoshuai <at> gmail.com>, bug-libtool <at> gnu.org,
 Leno Hou <lenohou <at> gmail.com>, 23348 <at> debbugs.gnu.org
Subject: Re: bug#23348: [m4/libtool.m4] linker error for
 powerpc64le-unknown-linux-gnu
Date: Sun, 14 Jan 2024 03:42:48 +0000
Mike Frysinger <vapier <at> gentoo.org> writes:

> [[PGP Signed Part:Undecided]]
> On 24 Apr 2016 00:46, Leno Hou wrote:
>>    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 :
>
> i took another look at this patch.  it isn't making sense to me, and your
> commit message doesn't have an explanation as to why you need it.  the only
> thing you've written is "i looked at the file, and it looks incorrect".

you liked it before! https://bugs.gentoo.org/581314 ;)

>
> do you have a build failure/log somewhere to share ?
>
>> 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.
>
> this code is really for multilib situations.  it's only needed when you want
> to compile for a diff ABI than the toolchain is defaulting to.
>
> so if --host=powerpc64le-linux-gnu, it should produce 64-bit binaries, and
> libtool doesn't have to do anything.  that's why powerpc64 isn't listed in
> the 64-bit section.
>
> adding it here would only matter if your powerpc64le-linux-gnu is producing
> 32-bit binaries by default, and that doesn't make sense.  and as you can
> see from the arch list in this section, no other target does this.
> -mike
>
> [[End of PGP Signed Part]]





Information forwarded to bug-libtool <at> gnu.org:
bug#23348; Package libtool. (Sun, 14 Jan 2024 03:44:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-libtool <at> gnu.org:
bug#23348; Package libtool. (Sun, 14 Jan 2024 03:47:02 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mike Frysinger <vapier <at> gentoo.org>
To: Sam James <sam <at> gentoo.org>
Cc: Zhao Kevin <kevin.zhaoshuai <at> gmail.com>, bug-libtool <at> gnu.org,
 Leno Hou <lenohou <at> gmail.com>, 23348 <at> debbugs.gnu.org
Subject: Re: bug#23348: [m4/libtool.m4] linker error for
 powerpc64le-unknown-linux-gnu
Date: Sat, 13 Jan 2024 22:46:27 -0500
[Message part 1 (text/plain, inline)]
On 14 Jan 2024 03:42, Sam James wrote:
> Mike Frysinger <vapier <at> gentoo.org> writes:
> > [[PGP Signed Part:Undecided]]
> > On 24 Apr 2016 00:46, Leno Hou wrote:
> >>    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 :
> >
> > i took another look at this patch.  it isn't making sense to me, and your
> > commit message doesn't have an explanation as to why you need it.  the only
> > thing you've written is "i looked at the file, and it looks incorrect".
> 
> you liked it before! https://bugs.gentoo.org/581314 ;)

i saw ... i'm inclined to revert at this point and let powerp64le (re)file.
but i'm OK giving Leno et al more time to respond/follow up since it isn't
affecting anyone else.
-mike
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-libtool <at> gnu.org:
bug#23348; Package libtool. (Sun, 14 Jan 2024 03:47:02 GMT) Full text and rfc822 format available.

This bug report was last modified 110 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.