From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5244 invoked by alias); 18 Dec 2013 17:29:13 -0000 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 Received: (qmail 5227 invoked by uid 89); 18 Dec 2013 17:29:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_DNSWL_NONE,SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: mtaout20.012.net.il Received: from mtaout20.012.net.il (HELO mtaout20.012.net.il) (80.179.55.166) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 18 Dec 2013 17:29:09 +0000 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MY000000I7O3Y00@a-mtaout20.012.net.il> for gdb-patches@sourceware.org; Wed, 18 Dec 2013 19:28:13 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MY000MANJ712SU0@a-mtaout20.012.net.il> for gdb-patches@sourceware.org; Wed, 18 Dec 2013 19:28:13 +0200 (IST) Date: Wed, 18 Dec 2013 17:29:00 -0000 From: Eli Zaretskii Subject: Re: [RFA] Fix cygwin compilation failure due to nameless LOAD_DLL_DEBUG_EVENT causes ntdll.dll to be missing In-reply-to: <20131218171819.GY30010@calimero.vinschen.de> To: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: <831u1acblu.fsf@gnu.org> References: <52ab8d0e.8aa2420a.30ff.ffffd8f1SMTPIN_ADDED_BROKEN@mx.google.com> <52AF3493.9090708@redhat.com> <20131218112045.GQ30010@calimero.vinschen.de> <83bo0ecgdw.fsf@gnu.org> <20131218160707.GV30010@calimero.vinschen.de> <834n66ccs9.fsf@gnu.org> <20131218171819.GY30010@calimero.vinschen.de> X-IsSubscribed: yes X-SW-Source: 2013-12/txt/msg00713.txt.bz2 > Date: Wed, 18 Dec 2013 18:18:19 +0100 > From: Corinna Vinschen > > On Dec 18 19:03, Eli Zaretskii wrote: > > > Date: Wed, 18 Dec 2013 17:07:07 +0100 > > > > Are you sure that 32K capability cannot be had with ANSI file names > > > > using the \\?\ notation? > > > > > > Yes. The \\?\ notation only works in the UNICODE API[*]. The reason > > > is that the ANSI API is just a thin layer over the actual UNICODE > > > functionality, and the conversion from ANSI to UNICODE is done using a > > > per-thread fixed-size buffer of 520 bytes. > > > > Does this mean that using \\?\ with ANSI-encoded file names buys us > > 520-byte file names? > > 260 char ANSI -> 520 bytes UTF-16 Oh, I misunderstood then. So lifting the 260-char limit means both go to Unicode _and_ use the \\?\ format of file names, is that right? If so, it probably means that CRT functions that accept wchar_t arrays as file names (_wfopen etc.) cannot be used with such long file names, and one needs to call the Win32 APIs directly. Correct?