Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-03-10 17:41:50 +0300
committerChristopher Faylor <me@cgf.cx>2005-03-10 17:41:50 +0300
commit491e84c6014b31a01afa612f3966f500c80974df (patch)
tree54459c4f9df7a74a08ef550901aac76eadd31bb7
parent35b4534efe191abcabe490dc48b07e279a1a79a1 (diff)
* 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.
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/autoload.cc8
-rw-r--r--winsup/cygwin/dcrt0.cc2
3 files changed, 15 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index b48ce0a3f..bbcb72eb1 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,11 @@
+2005-03-10 Christopher Faylor <cgf@timesys.com>
+
+ * 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.
+
2005-03-09 Christopher Faylor <cgf@timesys.com>
* pinfo.h (pinfo::pinfo): Clear more elements in the constructor.
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 */
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index df639c20f..524b30034 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -552,7 +552,7 @@ initial_env ()
len = GetModuleFileName (NULL, buf1, CYG_MAX_PATH);
strlwr (buf1);
strlwr (buf);
- char *p = strchr (buf, ':');
+ char *p = strpbrk (buf, ":=");
if (!p)
p = (char *) "gdb.exe -nw";
else