This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] windows-nat.c: Cygwin: Port to Cygwin 1.7
On Feb 28 19:08, Eli Zaretskii wrote:
> > Date: Sun, 28 Feb 2010 16:08:44 +0100
> > From: Corinna Vinschen <vinschen@redhat.com>
> >
> > - The maximum path length in Cygwin is no longer MAX_PATH. Rather it
> > is PATH_MAX, which is now 4096. Actually, even paths up to 32K are
> > supported, which is the maximum path length of the underlying Windows,
> > but usually 4K is more than enough.
>
> I'd suggest not to introduce arbitrary limits. If we are going to use
> the Unicode APIs, let's support the full 32K length they give us.
Some buffers are on the stack and would have an unnecessary big size.
PATH_MAX, 4K, is more than enough especially since the names of DLLs
are stored in a buffer which is restricted to SO_NAME_MAX_PATH_SIZE,
which is 512 bytes ATM.
> > - The Windows ANSI functions have two drawbacks.
> >
> > - They return paths always in the default ANSI codepage, which is
> > typically not the default codeset used in Cygwin 1.7 anymore. UTF-8
> > is now the default codeset in Cygwin.
> >
> > - They are restricted to a path length of MAX_PATH bytes.
> >
> > Since UTF-8 support and support for long paths are key changes in
> > Cygwin 1.7, Cygwin now uses only Unicode Windows or native NT
> > functions internally. To overcome the restrictions of the Win32 ANSI
> > functions in GDB as well, the patch changes the affected calls to use
> > the Unicode variation instead, too.
>
> But I see that you left the ANSI APIs in place for the non-Cygwin
> build. Isn't it better to switch that to Unicode as well?
I guess so, but that's not my domain. I changed only the code which
affects Cygwin.
Corinna
--
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat