X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Thu, 5 Nov 2009 13:08:47 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: src/winsup/cygwin ChangeLog syscalls.cc Message-ID: <20091105180847.GA1918@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20091105144413 DOT 31963 DOT qmail AT sourceware DOT org> <4AF30801 DOT 7090508 AT users DOT sourceforge DOT net> <20091105173450 DOT GQ26344 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091105173450.GQ26344@calimero.vinschen.de> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Thu, Nov 05, 2009 at 06:34:50PM +0100, Corinna Vinschen wrote: >On Nov 5 11:14, Yaakov S wrote: >> On 05/11/2009 08:44, corinna-rDBXBDvO6BXQT0dZR+AlfA AT public DOT gmane DOT org wrote: >> >Modified files: >> > winsup/cygwin : ChangeLog syscalls.cc >> > >> >Log message: >> > * syscalls.cc (nt_path_has_suffix): New function. >> > (rename): Don't append .exe suffix if binary target name has any suffix >> > at all. >> > >> >Patches: >> >http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=src&r1=1.4708&r2=1.4709 >> >http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/syscalls.cc.diff?cvsroot=src&r1=1.543&r2=1.544 >> >> On my system dozens of executables do have a '.' near the end of >> their names, either representing a version (e.g. perl5.10.0.exe, >> python2.5.exe), or OCaml native code (*.opt.exe), or for other >> reasons (e.g. *.bin.exe where the program is launched via a script). >> How does this change affect building/installing them? > >Let's see: > > rename ("foo.exe", "perl5.10.0.exe") result: perl5.10.0.exe > rename ("foo.exe", "perl5.10.0") result: perl5.10.0 > rename ("foo", "perl5.10.0.exe") result: perl5.10.0.exe > rename ("foo", "perl5.10.0") result: perl5.10.0 > >The latter one is a problem, because that's what happens when calling > > strip perl5.10.0 > >so after strip the binary is missing a .exe suffix. > >Sigh. > >Is there any *reliable* solution to this problem, other than never to >add a .exe suffix? Isn't the reliable-but-slow method to check the magic at the beginning of the file to see if it actually is a .exe? I'm not sure we want to do that though. cgf -- 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