From: Peter O'Gorman Date: Tue, 2 Sep 2008 04:58:40 +0000 (-0500) Subject: Revert 75142db4f8afc65ba7aae0ed80ea0b35bd9cc382 (AIX libltdl dlopen(NULL) X-Git-Tag: v2.2.6~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7e6bd3060d5b4e0d5e6b4304b6ee14219f0ba04;p=thirdparty%2Flibtool.git 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. --- diff --git a/ChangeLog b/ChangeLog index 9a67fd50d..af1f78ba4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2008-09-01 Peter O'Gorman + + 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 Allow for extensions other than .a for preloaded modules. diff --git a/NEWS b/NEWS index c85f74141..862e2a55c 100644 --- 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: diff --git a/libltdl/loaders/dlopen.c b/libltdl/loaders/dlopen.c index b4454071e..1d052b4fa 100644 --- a/libltdl/loaders/dlopen.c +++ b/libltdl/loaders/dlopen.c @@ -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) { diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index fb5f178e6..39ba996cb 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -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. diff --git a/libltdl/m4/ltdl.m4 b/libltdl/m4/ltdl.m4 index bac721ee5..f84f15f67 100644 --- a/libltdl/m4/ltdl.m4 +++ b/libltdl/m4/ltdl.m4 @@ -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