From 2f024c75553a9e1fa427886f3dc0497d02ab108e Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Mon, 8 Mar 1999 21:21:55 +0000 Subject: [PATCH] * 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 --- ChangeLog | 5 +++++ TODO | 5 +++++ ltmain.in | 8 ++++++++ 3 files changed, 18 insertions(+) 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 ;; -- 2.47.3