delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/04/10/14:52:20

X-Spam-Check-By: sourceware.org
Date: Mon, 10 Apr 2006 14:52:04 -0400 (EDT)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
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: <Pine.GSO.4.63.0604101447170.20193@access1.cims.nyu.edu>
References: <20060404184447 DOT GA4824 AT tela DOT daveroth DOT dyndns DOT org> <20060410013414 DOT GA20557 AT trixie DOT casa DOT cgf DOT cx> <Pine DOT GSO DOT 4 DOT 63 DOT 0604100927270 DOT 20193 AT access1 DOT cims DOT nyu DOT edu> <20060410173850 DOT GA19752 AT trixie DOT casa DOT cgf DOT cx> <Pine DOT GSO DOT 4 DOT 63 DOT 0604101352460 DOT 20193 AT access1 DOT cims DOT nyu DOT edu> <443AA212 DOT DF9AB154 AT dessent DOT net>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019