From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11549 invoked by alias); 28 Feb 2010 18:01:40 -0000 Received: (qmail 11469 invoked by uid 22791); 28 Feb 2010 18:01:39 -0000 X-Spam-Check-By: sourceware.org Received: from aquarius.hirmke.de (HELO calimero.vinschen.de) (217.91.18.234) by sourceware.org (qpsmtpd/0.83/v0.83-20-g38e4449) with ESMTP; Sun, 28 Feb 2010 18:01:36 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id A4A6D6D42F5; Sun, 28 Feb 2010 19:01:33 +0100 (CET) Date: Sun, 28 Feb 2010 18:01:00 -0000 From: Corinna Vinschen To: gdb-patches@sourceware.org Subject: Re: [RFA] windows-nat.c: Cygwin: Port to Cygwin 1.7 Message-ID: <20100228180133.GN5683@calimero.vinschen.de> Reply-To: gdb-patches@sourceware.org Mail-Followup-To: gdb-patches@sourceware.org References: <20100228150844.GH5683@calimero.vinschen.de> <837hpxcmp0.fsf@gnu.org> <20100228171828.GK5683@calimero.vinschen.de> <83wrxxb690.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83wrxxb690.fsf@gnu.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-02/txt/msg00690.txt.bz2 On Feb 28 19:49, Eli Zaretskii wrote: > > Date: Sun, 28 Feb 2010 18:18:28 +0100 > > From: Corinna Vinschen > > > > On Feb 28 19:08, Eli Zaretskii wrote: > > > > Date: Sun, 28 Feb 2010 16:08:44 +0100 > > > > From: Corinna Vinschen > > > > > > > > - 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. > > I don't think 32K is too much for the Windows stack (but maybe it is > with Cygwin; I don't know enough to judge). In Emacs, we had until a > month ago code that used alloca to allocate a 700KB structure, and it > worked in the native Windows build without any problems. > > > 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. > > I wasn't thinking about DLL names, I was thinking about source file > names and names of executable programs. The filename of executable and source files is not restricted to PATH_MAX. The code in windows-nat.c only handles DLLs. Otherwise, see utils.c, functions xfullpath() and gdb_realpath(). Cygwin provides the canonicalize_file_name function. Corinna -- Corinna Vinschen Cygwin Project Co-Leader Red Hat