libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Build AIX shared libraries with binutils 2.19.50+


From: Ralf Wildenhues
Subject: Re: [PATCH] Build AIX shared libraries with binutils 2.19.50+
Date: Mon, 16 Mar 2009 22:50:03 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

Hello Richard,

thanks for the patch.

* Richard Sandiford wrote on Mon, Mar 16, 2009 at 10:49:17AM CET:
> If you try to configure libtool to build shared libraries on AIX,
> it prints the following message when using GNU ld:
> 
> *** Warning: the GNU linker, at least up to release 2.9.1, is reported
> *** to be unable to reliably create shared libraries on AIX.
> *** Therefore, libtool is disabling shared libraries support.  If you
> *** really care for shared libraries, you may want to modify your PATH
> *** so that a non-GNU linker is found, and then restart.
> 
> binutils 2.19 doesn't work either, so the patch below updates the
> version number.  However, a series of AIX patches were applied to
> binutils CVS this weekend:
> 
>   http://sourceware.org/ml/binutils/2009-03/msg00172.html

For those interested in reading the whole thread, this is:
<http://thread.gmane.org/gmane.comp.gnu.binutils/40460>

Do they target AIX 6 only, or earlier versions as well?
Which versions were they tested with?

We have users going back to 4.3.3 IIRC.  If the new support doesn't go
back all that far, we should only enable it for as far back as is safe.

> These patches are enough to build working GCC shared libraries
> (shared libgcc, libstdc++, libgfortran, libobjc, etc.).  We've also
> used them internally to build proprietary shared libraries.
> 
> Hopefully things are in good enough shape that any failures can be
> treated like any other binutils bug.  I'd therefore like to remove
> the restriction above for binutils 2.19.50+.

Sounds like a good idea.

> One fix would be to add "real" GNU ld support if the linker is
> new enough.  However, GNU ld tries to be command-line compatible
> with the native AIX linker, so the handling for native AIX linkers
> works for binutils too.  I've therefore added a new variable that
> controls whether the GNU or native interface should be used.

> Tested using GCC.

I'm not sure I understand correctly.  Did you run git Libtool's
testsuite, after configuring it to use GCC and binutils?  In case not,
please see the README file for how to run the test suites and report
failures.

One thing that is missing from this patch is taking into account the
non-whole-archive-like behavior of GNU ld on AIX.  I think it should
cause some testsuite failures.  The setting of
_LT_TAGVAR(whole_archive_flag_spec, TAG) may need adjustment (at least
'./libtool --config' output should differ in this respect from that with
native ld).

>       * libltdl/m4/libtool.m4 (use_gnu_ld_interface): New variable
>       to control whether the GNU ld or native ld interface is used.
>       Set to "no" for GNU ld 2.19.50+ on AIX, otherwise mirror
>       $with_gnu_ld.  Update the warning message that is printed
>       when using GNU ld on AIX.

Technical nit: use_gnu_ld_interface should probably be in the lt_*
namespace.

Cheers, and thanks again,
Ralf





reply via email to

[Prev in Thread] Current Thread [Next in Thread]