This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: gdb 7.8 consistently fails to run executable - error is
- From: Jon Turney <jon dot turney at dronecode dot org dot uk>
- To: cygwin at cygwin dot com
- Cc: Tim Chick <chick at computergeek dot freeserve dot co dot uk>
- Date: Thu, 14 Jan 2016 15:21:50 +0000
- 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> <1448291381719-122912 dot post at n5 dot nabble dot com>
- Reply-to: cygwin at cygwin dot com
On 23/11/2015 15:09, Tim Chick wrote:
Am 08.10.2014 um 14:12 schrieb Corinna Vinschen:
On Sep 29 14:13, Dominik StraÃer wrote:
Hi all,
Hi Corinna,
I've dug into the gdb sources. The problem is in the cygwin-only
part and is not about the PATH variable but about one single DLL
file name.
This path length is *fixed* to 512 characters
(SO_NAME_MAX_PATH_SIZE) for the *realpath* of the DLL.
<SNIP>
I'm not sure how to fix this problem yet. I'll look into it when I
had a chance to catch up with my insane mail backlog.
I only see a chance by makin this a dynamic storage.
as indicated in solist.h
Dear All,
I experienced the same problem.
The error will occur if the path of the dll is too long, OR if gdb can not
access the dll for some reason. If the dll can not be accesed, then the call
to realpath() fails, and you get the "dll path too long" message.
In my case, the path was never too long. Making the change below lets you
debug your applications:
Thanks very much for the patch.
I've built and uploaded a test release of gdb 7.10.1 with a tweaked
version of this patch added.
Perhaps you could try that and see if it improves things for you?
I wasn't able to reproduce the problem where realpath() fails for some
DLL, even using a non-administrator account.
Can you provide some more information about what path realpath() is
failing for, and do you have any idea why?
--- 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);
}
else
- 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);
--
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