delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/05/10/12:58:20

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
Date: Sat, 10 May 2003 09:56:11 -0700
From: Dario Alcocer <alcocer AT helixdigital DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: cygipc (and PostgreSQL) XP problem resolved!
Message-ID: <20030510095611.A20781@ns.helixdigital.com>
References: <20030506174725 DOT GE1652 AT tishler DOT net> <3EB84F52 DOT 3020608 AT ece DOT gatech DOT edu> <20030507133326 DOT GA1824 AT tishler DOT net> <3EB9A54B DOT 8060500 AT ece DOT gatech DOT edu> <20030508135217 DOT GD512 AT tishler DOT net> <3EBB22F5 DOT 4000801 AT ece DOT gatech DOT edu> <1052541657 DOT 1675 DOT 5 DOT camel AT localhost> <20030510072110 DOT B12261 AT ns DOT helixdigital DOT com> <20030510155401 DOT GI19367 AT cygbert DOT vinschen DOT de>
Mime-Version: 1.0
User-Agent: Mutt/1.2.5.1i
In-Reply-To: <20030510155401.GI19367@cygbert.vinschen.de>; from corinna-cygwin@cygwin.com on Sat, May 10, 2003 at 05:54:01PM +0200

On Sat, May 10, 2003 at 05:54:01PM +0200, Corinna Vinschen wrote:
> On Sat, May 10, 2003 at 07:21:10AM -0700, Dario Alcocer wrote:
> > On Sat, May 10, 2003 at 02:40:57PM +1000, Robert Collins wrote:
> > > Well, theres the API break coming up with cygwin1.dll - do it in sync
> > > with that, IMO.
> > 
> > Correct me if I'm wrong, but shouldn't cygwin1.dll be changed to
> > cygwin2.dll if the API is changing?
> 
> Only if it's not a backward compatible change.  Each new Cygwin version
> did already add new functions so the API minor number has been bumped
> up.

But what if the data types used by the existing functions are changed?
In other words, the old library has void FooFunc(off_t) where off_t is a
4-byte quantity, but the new library uses an 8-byte off_t?

The reason I ask is that I've seen binaries compiled for an older
cygwin1.dll run incorrectly or crash when dynamically linking against a
new cygwin1.dll.

For instance, the PowerTV tool chain uses GNUPro 99, which has an
ancient cygwin1.dll included. As long as I don't install the latest
Cygwin stuff, everything is ok. However, as soon as I install the
latest cygwin1.dll, the PowerTV gcc/binutils cease to function
correctly. I suspect it has something to do with the Cygwin API and/or
ABI changing, and since the Cygwin DLL filename is exactly the same, it
loads the new library instead of using the old one.

They way I've gotten around this issue is to binary edit the PowerTV
tool chain and change references to the cygwin1.dll to refer to
cygwin0.dll; this is a very ugly hack, and I don't recommend it. But it
does serve to highlight the kinds of problems people might be running
into in the field.

-- 
Dario Alcocer -- Sr. Software Developer, Helix Digital Inc.
alcocer AT helixdigital DOT com -- http://www.helixdigital.com

--
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