summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/autoload.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/autoload.cc')
-rw-r--r--winsup/cygwin/autoload.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc
index 482820424..5d852d4f9 100644
--- a/winsup/cygwin/autoload.cc
+++ b/winsup/cygwin/autoload.cc
@@ -56,14 +56,18 @@ details. */
additional initialization routine to call prior to calling the first
function. */
#define LoadDLLprime(dllname, init_also) __asm__ (" \n\
- .section ." #dllname "_info,\"w\" \n\
- .linkonce \n\
+.ifndef " #dllname "_primed \n\
+ .data \n\
+ .align 4 \n\
+."#dllname "_info: \n\
.long _std_dll_init \n\
.long 0 \n\
.long -1 \n\
.long " #init_also " \n\
.asciz \"" #dllname "\" \n\
.text \n\
+ .set " #dllname "_primed, 1 \n\
+.endif \n\
");
/* Create a "decorated" name */