summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/autoload.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-03-10 14:41:50 +0000
committerChristopher Faylor <me@cgf.cx>2005-03-10 14:41:50 +0000
commit491e84c6014b31a01afa612f3966f500c80974df (patch)
tree54459c4f9df7a74a08ef550901aac76eadd31bb7 /winsup/cygwin/autoload.cc
parent35b4534efe191abcabe490dc48b07e279a1a79a1 (diff)
downloadcygnal-491e84c6014b31a01afa612f3966f500c80974df.tar.gz
cygnal-491e84c6014b31a01afa612f3966f500c80974df.tar.bz2
cygnal-491e84c6014b31a01afa612f3966f500c80974df.zip
* autoload.cc (LoadDllprime): Scrap use of .linkonce and just use an ifdef
guard to load .foo_init into data segment. * dcrt0.cc (initial_env): Allow colon or space as CYGWIN_DEBUG separator for consistency.
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 */