aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog9
-rw-r--r--winsup/cygwin/dcrt0.cc14
-rw-r--r--winsup/cygwin/shared.cc6
3 files changed, 20 insertions, 9 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 9d0215c..e668616 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,12 @@
+2005-01-05 Christopher Faylor <cgf@timesys.com>
+
+ * dcrt0.cc (multiple_cygwin_problem): Reorganize error message to not
+ always talk about a "version" when it's not a version.
+ (dll_crt0_0): Change info passed to multiple_cygwin_problem to be a
+ little more precise.
+ * shared.cc (user_shared_initialize): Ditto.
+ (shared_info::initialize): Ditto.
+
2005-01-03 Christopher Faylor <cgf@timesys.com>
* pinfo.cc (_pinfo::dup_proc_pipe): Can't close proc pipe when execing
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index bd9cf1c..a4483e1 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -600,13 +600,13 @@ dll_crt0_0 ()
else
{
if ((child_proc_info->intro & OPROC_MAGIC_MASK) == OPROC_MAGIC_GENERIC)
- multiple_cygwin_problem ("proc", child_proc_info->intro, 0);
+ multiple_cygwin_problem ("proc intro", child_proc_info->intro, 0);
else if (child_proc_info->intro == PROC_MAGIC_GENERIC
&& child_proc_info->magic != CHILD_INFO_MAGIC)
- multiple_cygwin_problem ("proc", child_proc_info->magic,
+ multiple_cygwin_problem ("proc magic", child_proc_info->magic,
CHILD_INFO_MAGIC);
else if (child_proc_info->cygheap != (void *) &_cygheap_start)
- multiple_cygwin_problem ("cygheap", (DWORD) child_proc_info->cygheap,
+ multiple_cygwin_problem ("cygheap base", (DWORD) child_proc_info->cygheap,
(DWORD) &_cygheap_start);
unsigned should_be_cb = 0;
switch (child_proc_info->type)
@@ -1141,12 +1141,14 @@ multiple_cygwin_problem (const char *what, unsigned magic_version, unsigned vers
if (CYGWIN_VERSION_MAGIC_VERSION (magic_version) == version)
system_printf ("%s magic number mismatch detected - %p/%p", what, magic_version, version);
else
- api_fatal ("%s version mismatch detected - %p/%p.\n\
-You have multiple copies of cygwin1.dll on your system.\n\
+ api_fatal ("%s mismatch detected - %p/%p.\n\
+This problem is probably due to using incompatible versions of the cygwin DLL.\n\
Search for cygwin1.dll using the Windows Start->Find/Search facility\n\
and delete all but the most recent version. The most recent version *should*\n\
reside in x:\\cygwin\\bin, where 'x' is the drive on which you have\n\
-installed the cygwin distribution.", what, magic_version, version);
+installed the cygwin distribution. Rebooting is also suggested if you\n\
+are unable to find another cygwin DLL.",
+ what, magic_version, version);
}
#ifdef DEBUGGING
diff --git a/winsup/cygwin/shared.cc b/winsup/cygwin/shared.cc
index 640d042..6ef11c3 100644
--- a/winsup/cygwin/shared.cc
+++ b/winsup/cygwin/shared.cc
@@ -185,9 +185,9 @@ user_shared_initialize (bool reinit)
user_shared->delqueue.init ();
}
else if (user_shared->version != USER_VERSION_MAGIC)
- multiple_cygwin_problem ("user", user_shared->version, USER_VERSION_MAGIC);
+ multiple_cygwin_problem ("user shared memory version", user_shared->version, USER_VERSION_MAGIC);
else if (user_shared->cb != sizeof (*user_shared))
- multiple_cygwin_problem ("user shared size", user_shared->cb, sizeof (*user_shared));
+ multiple_cygwin_problem ("user shared memory size", user_shared->cb, sizeof (*user_shared));
}
void
@@ -203,7 +203,7 @@ shared_info::initialize ()
{
if (version != SHARED_VERSION_MAGIC)
{
- multiple_cygwin_problem ("shared", version, SHARED_VERSION_MAGIC);
+ multiple_cygwin_problem ("system shared memory version", version, SHARED_VERSION_MAGIC);
InterlockedExchange ((LONG *) &version, sversion);
}
while (!cb)