summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/autoload.cc2
2 files changed, 7 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index bbcb72eb1..b246f1279 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,6 +1,11 @@
2005-03-10 Christopher Faylor <cgf@timesys.com>
- * autoload.cc (LoadDllprime): Scrap use of .linkonce and just use an
+ * autoload.cc (LoadDLLprime): Use nocopy segment or forked processes
+ will not initialize properly.
+
+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
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc
index 5d852d4f9..9ca88db98 100644
--- a/winsup/cygwin/autoload.cc
+++ b/winsup/cygwin/autoload.cc
@@ -57,7 +57,7 @@ details. */
function. */
#define LoadDLLprime(dllname, init_also) __asm__ (" \n\
.ifndef " #dllname "_primed \n\
- .data \n\
+ .section .data_cygwin_nocopy,\"w\" \n\
.align 4 \n\
."#dllname "_info: \n\
.long _std_dll_init \n\