libtool-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] Use correct export_dynamic_flag_spec for PE-COFF $hosts


From: Bob Friesenhahn
Subject: Re: [PATCH] Use correct export_dynamic_flag_spec for PE-COFF $hosts
Date: Sun, 29 Mar 2009 19:22:02 -0500 (CDT)

On Sun, 29 Mar 2009, Charles Wilson wrote:

* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin*|mingw*|pw32*|cegcc*]:
Define export_dynamic_flag_spec as -Wl,--export-all-symbols, as required
by GNU ld for PE-COFF.

Original patch by Yaakov Selkowitz. As he explained:

On Cygwin, the --export-all-symbols linker flag is required;
--export-dynamic has no effect
(see http://sourceware.org/bugzilla/show_bug.cgi?id=6744).

This patch fixes two problems:

(1) LT_SYS_DLOPEN_SELF returns a false negative;
(2) Using the -export-dynamic libtool flag does not affect the
  resulting binary.

Tested in combination with several other cygwin patches, as part of the
recent cygwin "official" 2.2.7a-N libtool release(s):
http://cygwin.com/ml/cygwin-announce/2009-03/msg00080.html
http://cygwin.com/ml/cygwin-announce/2009-03/msg00081.html

No regressions.  Okay to push?

If you are sure that --export-all-symbols will work with older (within reason) Cygwin and MinGW installs, then this seems ok to push. I do see support for --export-all-symbols in my archaic MinGW install so the risk of problems seems low.

Bob

libltdl/m4/libtool.m4 |    1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 477f6e3..15612c0 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -4275,6 +4275,7 @@ _LT_EOF
      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
      # as there is no search path for DLLs.
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      _LT_TAGVAR(always_export_symbols, $1)=no
      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
--
1.6.1.2




--
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/




reply via email to

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