Mail Archives: cygwin/2006/04/10/15:55:12
On Tue, 11 Apr 2006, Christopher Faylor wrote:
> On Mon, Apr 10, 2006 at 02:52:04PM -0400, Igor Peshansky wrote:
> >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.
>
> So you're thinking that a program which has had no other changes, and
> hasn't been recompiled, is going to somehow pull in newer functions from
> cygwin1.dll?
Huh? That's the point -- it *has* to be recompiled to get the new
GetCommandLine implementation from cygwin.a...
> Please provide examples of how that could happen.
I compile program A (which uses GCL) under 1.5.18 and release it. It
doesn't work properly on 1.5.20+ (because it calls the kernel's GCL). I
then recompile it under 1.5.20 to pull in the new libcygwin.a. However,
this also pulls in whatever new functions are in cygwin1.dll, so that
program A now doesn't work with <1.5.20. Am I missing something?
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 -