[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/6744] New: --export-dynamic does nothing for Cygwin .exe's
From: |
yselkowitz at users dot sourceforge dot net |
Subject: |
[Bug ld/6744] New: --export-dynamic does nothing for Cygwin .exe's |
Date: |
13 Jul 2008 20:13:04 -0000 |
When linking a program with -Wl,--export-dynamic, no symbols are
exported. The problem arises when the executable needs to either dlopen
itself, or when it has plugins which are "linked" against it. Both
scenarios are not uncommon, particularly with GNOME software.
While this does work on Linux, it does not work on Cygwin with
--export-dynamic; only --export-all-symbols, an i386PE-specific flag,
will accomplish this.
I'm attaching a test case; it's a simplified version of the test used in
LT_SYS_DLOPEN_SELF (prev. AC_LIBTOOL_DLOPEN_SELF):
$ gcc -o test.exe dlopen-self.c && ./test.exe
status = 0
$ gcc -Wl,--export-dynamic -o test.exe dlopen-self.c && ./test.exe
status = 0
$ gcc -Wl,--export-all-symbols -o test.exe dlopen-self.c && ./test.exe
status = 1
Running 'objdump -p test.exe' will also show that the export table is
only generated in the last case.
I would appreciate your input on this issue.
--
Summary: --export-dynamic does nothing for Cygwin .exe's
Product: binutils
Version: 2.19 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: ld
AssignedTo: unassigned at sources dot redhat dot com
ReportedBy: yselkowitz at users dot sourceforge dot net
CC: bug-binutils at gnu dot org
GCC build triplet: i686-pc-cygwin
GCC host triplet: i686-pc-cygwin
GCC target triplet: i686-pc-cygwin
http://sourceware.org/bugzilla/show_bug.cgi?id=6744
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
- [Bug ld/6744] New: --export-dynamic does nothing for Cygwin .exe's,
yselkowitz at users dot sourceforge dot net <=