This is the mail archive of the
mailing list for the Cygwin project.
Re: gdb 7.8 consistently fails to run executable - error is
- From: Vanda Vodkamilkevich <vanda dot vodkamilkevich at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 12 Jan 2016 13:34:00 +0100
- Subject: Re: gdb 7.8 consistently fails to run executable - error is
- Authentication-results: sourceware.org; auth=none
- References: <1408580171694-110722 dot post at n5 dot nabble dot com> <loom dot 20140821T100019-590 at post dot gmane dot org> <1408732343936-110800 dot post at n5 dot nabble dot com> <5423F775 dot 7030208 at onespin-solutions dot com> <54294CED dot 9050602 at onespin-solutions dot com> <20141008121224 dot GB29235 at calimero dot vinschen dot de> <5435302A dot 6030800 at onespin-solutions dot com> <1448289893881-122909 dot post at n5 dot nabble dot com>
I'm reacting to this email with a long delay but I just wanted to let you
know that this change saved my life, now I am finally able to debug again
with cygwin (w7 64bits , 32 bits cygwin) because I was blocked by a nasty
"security" dll (part of Arkoon Security). A big thank you...
Additionally I had another problem in gdb which is detecting kernel64.dll
instead of kernel32.dll : am I the only one still using Cygwin 32 on
Windows 64? Does this rings a bell for anyone?
I had to add another (uggly) patch above Tim's work, see below :
diff -ru origsrc/gdb-7.8/gdb/windows-nat.c src/gdb-7.8/gdb/windows-nat.c
--- origsrc/gdb-7.8/gdb/windows-nat.c 2015-06-23 17:44:40.862022600 +0200
+++ src/gdb-7.8/gdb/windows-nat.c 2015-11-25 13:28:46.893554500 +0100
@@ -648,6 +648,14 @@
buf = 0;
if (access (name, F_OK) != 0)
+ char *found=strstr(name,"kernel64.dll");
+DEBUG_EVENTS (("gdb: access() failed for \"%s\"\n", name));
+ if (found)
+ char *six=strchr(found,'6');
+ *six++ = '3';
+ *six= '2';
if (strcasecmp (name, "ntdll.dll") == 0)
@@ -681,7 +689,7 @@
- error (_("dll path too long"));
+ warning (_("dll path too long, or can not be accessed: %s -
/* Record cygwin1.dll .text start/end. */
p = strchr (so->so_name, '\0') - (sizeof ("/cygwin1.dll") - 1);
2015-11-23 15:44 GMT+01:00 Tim Chick <email@example.com>:
> Hi Dominik,
> In my case, it was not down to the string size being too small. I seemed to
> suffer exactly the same problem.
> You get the same error if Windows can't access the dll. This seems to happen
> for some "special" dlls.
> The size of any PATH variable won't matter - the path it refers to here is
> the "realpath" conversion of the dll filename.
> The simple patch applied makes gdb work for me on Windows 7.
> Patch also below:
> --- gdb-7.9.1-1.src/gdb.i686/src/gdb-7.9.1/gdb/windows-nat.c.orig 2015-11-23
> 11:43:17.834000000 +0000
> +++ gdb-7.9.1-1.src/gdb.i686/src/gdb-7.9.1/gdb/windows-nat.c 2015-11-23
> 14:17:30.302252500 +0000
> @@ -623,7 +623,8 @@ windows_make_so (const char *name, LPVOI
> free (rname);
> - error (_("dll path too long"));
> + warning (_("dll path too long, or can not be accessed '\"%s\"'"),
> + name);
> /* Record cygwin1.dll .text start/end. */
> p = strchr (so->so_name, '\0') - (sizeof ("/cygwin1.dll") - 1);
> View this message in context: http://cygwin.1069669.n5.nabble.com/gdb-7-8-consistently-fails-to-run-executable-error-is-dll-path-too-long-tp110722p122909.html
> Sent from the Cygwin list mailing list archive at Nabble.com.
> Problem reports: http://cygwin.com/problems.html
> FAQ: http://cygwin.com/faq/
> Documentation: http://cygwin.com/docs.html
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple