diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 9 | ||||
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 14 | ||||
-rw-r--r-- | winsup/cygwin/shared.cc | 6 |
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) |