This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [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


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