]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
Revert 75142db4f8afc65ba7aae0ed80ea0b35bd9cc382 (AIX libltdl dlopen(NULL)
authorPeter O'Gorman <peter@pogma.com>
Tue, 2 Sep 2008 04:58:40 +0000 (23:58 -0500)
committerPeter O'Gorman <peter@pogma.com>
Tue, 2 Sep 2008 05:10:42 +0000 (00:10 -0500)
libltdl/m4/ltdl.m4: Remove LTDL_DLOPEN_SELF_WORKS define.
libltdl/loaders/dlopen.c: Remove LTDL_DLOPEN_SELF_WORKS check.
libltdl/m4/libtool.m4 [aix]: Set export_dynamic_flag_spec to -Wl,-bexpall. This is a temporary workaround until a real fix is implemented.

ChangeLog
NEWS
libltdl/loaders/dlopen.c
libltdl/m4/libtool.m4
libltdl/m4/ltdl.m4

index 9a67fd50d435c0dc16606393cd6558689f858d02..af1f78ba45fef7d156ae81e51f2cc79c2c24ca7f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2008-09-01  Peter O'Gorman  <peter@pogma.com>
+
+       Revert 75142db4f8afc65ba7aae0ed80ea0b35bd9cc382 (AIX libltdl
+       dlopen(NULL)
+
+       libltdl/m4/ltdl.m4: Remove LTDL_DLOPEN_SELF_WORKS define.
+       libltdl/loaders/dlopen.c: Remove LTDL_DLOPEN_SELF_WORKS check.
+       libltdl/m4/libtool.m4 [aix]: Set export_dynamic_flag_spec to
+       -Wl,-bexpall. This is a temporary workaround until a real fix
+       is implemented.
+       NEWS: document it.
+
 2008-08-26  Peter O'Gorman  <peter@pogma.com>
 
        Allow for extensions other than .a for preloaded modules.
diff --git a/NEWS b/NEWS
index c85f7414188df8a2c5a85c117660fa6a7ea2e0cd..862e2a55ccd11ffc572c57fe1c7b2c668a545bf4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -24,6 +24,9 @@ New in 2.2.??: 2008-08-??: git version 2.2.5a, Libtool team:
   - Fix 2.2 regression that caused argz symbols to be exported from
     libltdl unrenamed on systems that do not have working argz.
 
+  - Revert "lt_dlopen(NULL) works on AIX again.". It was not the
+    correct fix.
+
 New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team:
 
 * New features:
index b4454071e8b4b68a5714f1920bd80ce013bd9607..1d052b4faaa00aedb45de5b86868577da08289f6 100644 (file)
@@ -191,14 +191,7 @@ vm_open (lt_user_data LT__UNUSED loader_data, const char *filename,
 #endif
     }
 
-  /* On AIX, dlopen(NULL) succeeds but dlsym of symbols fails.
-     In this case, fail here to let the preopen loader do the job. */
-#ifndef LTDL_DLOPEN_SELF_WORKS
-  if (!filename)
-    module = NULL;
-  else
-#endif
-    module = dlopen (filename, module_flags);
+  module = dlopen (filename, module_flags);
 
   if (!module)
     {
index fb5f178e60ba63aee7fb706abaac767ae5fea7ee..39ba996cb960e22873667c57deeff94bf23bef56 100644 (file)
@@ -4618,6 +4618,7 @@ _LT_EOF
        fi
       fi
 
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
       # It seems that -bexpall does not export symbols beginning with
       # underscore (_), so it is better to generate a list of symbols to export.
       _LT_TAGVAR(always_export_symbols, $1)=yes
@@ -5561,6 +5562,7 @@ if test "$_lt_caught_CXX_error" != yes; then
           fi
         fi
 
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
         # It seems that -bexpall does not export symbols beginning with
         # underscore (_), so it is better to generate a list of symbols to
        # export.
index bac721ee5fb238a329058312fdb5f369d83c5a49..f84f15f6798b809d926498d3916a3ce2592b63fe 100644 (file)
@@ -380,12 +380,6 @@ m4_require([_LT_HEADER_DLFCN])dnl
 m4_require([_LT_CHECK_DLPREOPEN])dnl
 m4_require([_LT_DECL_SED])dnl
 
-# lt_cv_dlopen_self gets defined by LT_SYS_DLOPEN_SELF, called by LT_INIT
-if test "$lt_cv_dlopen_self" = yes; then
-  AC_DEFINE([LTDL_DLOPEN_SELF_WORKS], [1],
-    [Define if dlopen(NULL) is able to resolve symbols from the main program.])
-fi
-
 dnl Don't require this, or it will be expanded earlier than the code
 dnl that sets the variables it relies on:
 _LT_ENABLE_INSTALL