gdb 7.8 consistently fails to run executable - error is

Jon Turney jon.turney@dronecode.org.uk
Thu Jan 14 15:53:00 GMT 2016


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



More information about the Cygwin mailing list