public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Vanda Vodkamilkevich <vanda.vodkamilkevich@gmail.com>
To: cygwin@cygwin.com
Subject: Re: gdb 7.8 consistently fails to run executable - error is
Date: Tue, 12 Jan 2016 13:58:00 -0000	[thread overview]
Message-ID: <CA+GYywDiPUTZ=9+YJb5vgFWvQ+gEebkqf+86Mtv0qq3ArrJPzQ@mail.gmail.com> (raw)
In-Reply-To: <1448289893881-122909.post@n5.nabble.com>

Hi,

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] = 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)
 #ifdef __USEWIDE
        {
@@ -681,7 +689,7 @@
          free (rname);
        }
       else
-       error (_("dll path too long"));
+       warning (_("dll path too long, or can not be accessed: %s -
%s"),name,rname);
     }
   /* 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 <chick@computergeek.freeserve.co.uk>:
> 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.
>
> workaround_win7_dll_path_too_long.patch
> <http://cygwin.1069669.n5.nabble.com/file/n122909/workaround_win7_dll_path_too_long.patch>
>
> 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);
>         }
>        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);
>
>
> Thanks,
> Tim
>
>
>
>
> --
> 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
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2016-01-12 12:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-21  0:16 gdb 7.8 consistently fails to run executable - error is "dll path too long" DGStevens
2014-08-21  8:02 ` gdb 7.8 consistently fails to run executable - error is Achim Gratz
2014-08-22 18:32   ` DGStevens
2014-09-25 12:19     ` Dominik Straßer
2014-09-29 14:18       ` Dominik Straßer
2014-10-08 12:12         ` Corinna Vinschen
2014-10-08 12:38           ` Dominik Straßer
2015-11-23 14:44             ` Tim Chick
2016-01-12 13:58               ` Vanda Vodkamilkevich [this message]
2016-01-12 17:30                 ` Corinna Vinschen
2015-11-23 15:09             ` Tim Chick
2016-01-14 15:53               ` Jon Turney
2016-01-14 19:48                 ` Tim Chick
2016-01-14 20:20                   ` Jon Turney
2016-01-21 15:01                     ` Tim Chick
2016-01-27 21:47                       ` Jon Turney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+GYywDiPUTZ=9+YJb5vgFWvQ+gEebkqf+86Mtv0qq3ArrJPzQ@mail.gmail.com' \
    --to=vanda.vodkamilkevich@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).