X-Spam-Check-By: sourceware.org Date: Mon, 10 Apr 2006 14:52:04 -0400 (EDT) From: Igor Peshansky Reply-To: cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com Subject: Re: Cygwin backwards compatibility break with WinMain and GetCommandLine (was Re: WinMain() not getting cl...) In-Reply-To: <443AA212.DF9AB154@dessent.net> Message-ID: References: <20060404184447 DOT GA4824 AT tela DOT daveroth DOT dyndns DOT org> <20060410013414 DOT GA20557 AT trixie DOT casa DOT cgf DOT cx> <20060410173850 DOT GA19752 AT trixie DOT casa DOT cgf DOT cx> <443AA212 DOT DF9AB154 AT dessent DOT net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk 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 Mon, 10 Apr 2006, Brian Dessent wrote: > Igor Peshansky wrote: > > > If GetCommandLine lives in libcygwin.a, then programs linked on older > > versions of Cygwin will not link that function in, and thus won't work > > with the new DLL. Programs linking with the new version of Cygwin will > > have that function, but due to API changes, may not work with older DLLs. > > Or am I missing something? > > It should work out like this: > > Linked against <1.5.20, Run against >=1.5.19: > calls kernel32's GCL() and won't work > > Linked against <1.5.20, Run against <1.5.19: > calls kernel32's GCL() but the win environment exists, success > > Linked against >=1.5.20, Run against any version: > calls libcygwin's static GCL(), which works in any circumstance I'm worried about the case Linked against >=1.5.20, Run against <=1.5.19: calls libcygwin's static GCL, which works, but fails because 1.5.20 (or 1.5.21, etc) has an extra API function that now gets invoked by the code, but is missing from 1.5.19 and earlier -- BOOM. IOW, the infamous "Procedure entry point ... couldn't be found" popup. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!) |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte." "But no -- you are no fool; you call yourself a fool, there's proof enough in that!" -- Rostand, "Cyrano de Bergerac" -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/