Re: [PATCH] tests: feed -no-undefined when linking libtool libraries

2012-10-02 Thread Gary V. Vaughan
Hi Peter, Sorry for the delay, it was more complicated than I had imagined :-o On 28 Sep 2012, at 11:08, Gary V. Vaughan g...@gnu.org wrote: On 27 ก.ย. 2012, at 5:03, Peter Rosin p...@lysator.liu.se wrote: On 2012-09-26 14:57, Peter Rosin wrote: On 2012-09-22 05:31, Gary V. Vaughan wrote:

[PATCH 00/12] Improve AIX support: libltdl, filename-based versioning.

2012-10-02 Thread Michael Haubenwallner
Hi, here's a set of patches to fix the two major problems with current AIX support in libtool, that is: *) libltdl: lt_dlopen() does work /with/ runtime linking (LDFLAGS=-brtl) only. *) libtool: /Without/ runtime linking, there is some versioning support, but still far from being ideal for

[PATCH 01/12] Support loading shared library archive members.

2012-10-02 Thread Michael Haubenwallner
AIX supports shared objects as members of archive libraries, loadable with dlopen using the RTLD_MEMBER flag. * libltdl/ltdl.c: For AIX, define LT_SHARED_LIB_MEMBER to hold the parentheses used to identify the shared archive member. (lt_dlopenadvise) When LT_SHARED_LIB_MEMBER is defined, allow for

[PATCH 11/12] No cross-library undefined symbols test on AIX.

2012-10-02 Thread Michael Haubenwallner
While AIX does support undefined symbols in general, undefined symbols in one shared library do not trigger another shared library to be marked as needed by the linker. * tests/template.at: Skip test with undef syms across libraries on AIX. --- tests/template.at |6 +- 1 files changed, 5

[PATCH 06/12] Drop useless symlinks with AIX runtime linking.

2012-10-02 Thread Michael Haubenwallner
On AIX, the standalone Shared Object we create when runtime linking is active does not support versioning at all, so the versioning symlinks are plain useless. * m4/libtool.m4: (library_names_spec) No versioning with AIX runtime linking. --- m4/libtool.m4 |4 ++-- 1 files changed, 2

[PATCH 08/12] Implement enable/disable aix-soname options.

2012-10-02 Thread Michael Haubenwallner
Support filename-based shared library versioning on AIX with the lib.so library filename extension, which is used with runtime linking only. Runtime linking is enabled by the -brtl linker flag for executables and the -G linker flag for Shared Objects. (aix-soname=no): Default, also known as

[PATCH 05/12] AIX runtime linking allows undef syms by default.

2012-10-02 Thread Michael Haubenwallner
On AIX, when runtime linking is active, undefined symbols are allowd by default. Additionally, the '-G' linker flag needs to be specified before the '-bernotok' and any other user-defined linker flag, or '-G' would override some of them again. * m4/libtool.m4: (no_undefined_flag) Define for AIX

[PATCH 12/12] Set aix-soname=yes as default.

2012-10-02 Thread Michael Haubenwallner
--- m4/ltoptions.m4 |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 index 6f53562..95c8eed 100644 --- a/m4/ltoptions.m4 +++ b/m4/ltoptions.m4 @@ -83,7 +83,7 @@ m4_if([$1],[LT_INIT],[ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install

[PATCH 07/12] Declare enable/disable aix-soname options.

2012-10-02 Thread Michael Haubenwallner
Declare filename based shared library versioning on AIX. * m4/ltoptions.m4: (_LT_ENABLE_AIX_SONAME) New. Provides --enable-aix-soname commandline option. Declares the 'shared_archive_member_spec' libtool variable. (_LT_SET_OPTIONS) Add LT_INIT options aix-soname, disable-aix-soname. Default is

[PATCH 02/12] Prepare -dlopen option for shared archive members.

2012-10-02 Thread Michael Haubenwallner
* build-aux/ltmain.m4sh: (func_mode_execute) For the -dlopen option, when testing if the file to be dlopen'ed exists, strip the optional shared archive member (seen on AIX) from dlname first. --- build-aux/ltmain.m4sh | 14 -- 1 files changed, 12 insertions(+), 2 deletions(-) diff

[PATCH 10/12] Detect XFAIL based on hardcode configuration.

2012-10-02 Thread Michael Haubenwallner
* tests/deplibs-ident.at: To define whether this test should XFAIL, use hardcode_action, hardcode_direct, hardcode_direct_absolute configuration settings instead of platforms aix, hppa-hpux, interix or openbsd. --- tests/deplibs-ident.at | 11 +++ 1 files changed, 7 insertions(+), 4

[PATCH 09/12] Run versioning checks on aix with 'aix-soname'.

2012-10-02 Thread Michael Haubenwallner
* tests/versioning.at: On AIX, when shared_archive_member_spec is defined, we can run the versioning check. --- tests/versioning.at |9 + 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/versioning.at b/tests/versioning.at index b66c816..226b329 100644 ---

Re: [PATCH] tests: feed -no-undefined when linking libtool libraries

2012-10-02 Thread Peter Rosin
[snipped loads of stuff] On 2012-10-02 16:54, Gary V. Vaughan wrote: The new branch gary/reredo-test-operand-order (notice the double re) has everything broken down into digestible chunks. All the differences between that and master now look like improvements upon the original hand rolled

Re: [PATCH] tests: feed -no-undefined when linking libtool libraries

2012-10-02 Thread Gary V. Vaughan
Hi Peter, On Oct 3, 2012, at 12:32 AM, Peter Rosin p...@lysator.liu.se wrote: [snipped loads of stuff] [snipped a bit more stuff] You're saying that you are about to: $ git checkout master $ git merge --strategy=recursive -X theirs gary/reredo-test-operand-order \ -m 'bla bla bla'