From: Alexandre Oliva Date: Mon, 8 Mar 1999 21:21:55 +0000 (+0000) Subject: * ltmain.in: temporarily disable dlopen_self when linking with X-Git-Tag: release-1-2f~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f024c75553a9e1fa427886f3dc0497d02ab108e;p=thirdparty%2Flibtool.git * ltmain.in: temporarily disable dlopen_self when linking with -static or -all-static, until we figure out how to test whether it works at configure time * TODO: remember to fix this later --- diff --git a/ChangeLog b/ChangeLog index 693dfa830..c6f9bf423 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 1999-03-08 Alexandre Oliva + * ltmain.in: temporarily disable dlopen_self when linking with + -static or -all-static, until we figure out how to test whether it + works at configure time + * TODO: remember to fix this later + * tests/build-relink.test: when hell is expected to fail, run it within a subshell and redirect stderr to stdout, so that dynamic linker errors are only printed in verbose mode diff --git a/TODO b/TODO index 59390c565..4b6612e6b 100644 --- a/TODO +++ b/TODO @@ -37,6 +37,11 @@ so that the size of lt_preloaded_symbols can be reduced. In the future: ************** +* test whether dlopening and self-dlopening work for statically linked + programs. Self-dlopening, for example, is known to fail on DEC + OSF/1, for programs compiled with -static. On other platforms, + dlopen may even fail to link. + * Godmar Back writes: libltdl uses such stdio functions as fopen, fgets, feof, fclose, and others. These functions are not async-signal-safe. While this does not make diff --git a/ltmain.in b/ltmain.in index d7a340ec7..b6382e6f4 100644 --- a/ltmain.in +++ b/ltmain.in @@ -927,6 +927,10 @@ compiler." if test -n "$link_static_flag"; then compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" + # Some platforms do not support self-dlopening with static + # linking. Assume self-dlopening does not work in this case + # till we figure out how to test it at configure time + dlopen_self=no fi continue ;; @@ -1054,6 +1058,10 @@ compiler." if test -z "$pic_flag" && test -n "$link_static_flag"; then compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" + # Some platforms do not support self-dlopening with static + # linking. Assume self-dlopening does not work in this case + # till we figure out how to test it at configure time + dlopen_self=no fi continue ;;