This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gdb 7.8 consistently fails to run executable - error is


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]