bug-libtool
[Top][All Lists]
Advanced

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

Fix AC_NO_EXECUTABLES test failure on AIX. (was: libtool-2.2.8 on AIX 6.


From: Ralf Wildenhues
Subject: Fix AC_NO_EXECUTABLES test failure on AIX. (was: libtool-2.2.8 on AIX 6.1)
Date: Fri, 6 Aug 2010 22:05:46 +0200
User-agent: Mutt/1.5.20 (2010-04-22)

> On 02.08.2010 20:40, Ralf Wildenhues wrote:
> > * Rainer Tammer wrote on Mon, Aug 02, 2010 at 05:40:13PM CEST:
> >> I just have tested libtool 2.2.8 on AIX 6.1.

> >> 95: AC_NO_EXECUTABLES                               FAILED
> >> (no-executables.at:76)
> > This is new to me, and an actual (minor) bug in libtool.m4, which you
> > can ignore unless you're hacking on GCC.  I think it's the
> > _LT_SYS_MODULE_PATH_AIX macro that contains a link test which currently
> > isn't skippable by setting a cache variable.

This failure should be fixed by the patch below.

The no-executables.at test group nicely shows which cache variables
need to be set inside the configury of GCC when GCC_NO_EXECUTABLES is in
use; unfortunately, I don't know of an easy way for GCC to determine how
to set them reliably when the linker cannot be used.  While the
dlopen-related ones may be implied fairly reliably from $host, the rest
is simply unclear to me.  See e.g. this PR for an instance of the
problem: <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45174#c13>

Thanks,
Ralf

    Fix AC_NO_EXECUTABLES test failure on AIX.
    
    * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link
    test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath.
    * tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to
    avoid link test.
    Bug report by Rainer Tammer.

diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 39873be..62c437d 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -1081,7 +1081,8 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
 # to the aix ld manual.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+AC_CACHE_VAL([lt_cv_aix_libpath],
+[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
 lt_aix_libpath_sed='
     /Import File Strings/,/^$/ {
        /^0/ {
@@ -1089,12 +1090,14 @@ lt_aix_libpath_sed='
            p
        }
     }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e 
"$lt_aix_libpath_sed"`
+lt_cv_aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e 
"$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e 
"$lt_aix_libpath_sed"`
+if test -z "$lt_cv_aix_libpath"; then
+  lt_cv_aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e 
"$lt_aix_libpath_sed"`
 fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+if test -z "$lt_cv_aix_libpath"; then lt_cv_aix_libpath="/usr/lib:/lib"; fi
+])
+aix_libpath=$lt_cv_aix_libpath
 ])# _LT_SYS_MODULE_PATH_AIX
 
 
diff --git a/tests/no-executables.at b/tests/no-executables.at
index e9e229a..75b92ef 100644
--- a/tests/no-executables.at
+++ b/tests/no-executables.at
@@ -1,7 +1,6 @@
 # no-executables.at -- Libtool usage in GCC        -*- Autotest -*-
 
-#   Copyright (C) 2008 Free Software Foundation, Inc.
-#   Written by Ralf Wildenhues, 2008
+#   Copyright (C) 2008, 2010 Free Software Foundation, Inc.
 #
 #   This file is part of GNU Libtool.
 #
@@ -52,6 +51,7 @@ lt_cv_archive_cmds_need_lc=no
 lt_cv_cc_needs_belf=no
 lt_cv_ld_exported_symbols_list=no
 lt_cv_prog_compiler_static_works=no
+lt_cv_aix_libpath="/usr/lib:/lib"
 
 # Deal with AC_LIBTOOL_DLOPEN in one of two possible ways:
 # - do not execute it at all in the ac_no_link case



reply via email to

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