X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=3.0 required=5.0	tests=AWL,BAYES_00,DKIM_ADSP_CUSTOM_MED,FORGED_YAHOO_RCVD,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED,RCVD_IN_BL_SPAMCOP_NET,RCVD_NUMERIC_HELO,SPF_HELO_PASS,T_RP_MATCHES_RCVD,T_TO_NO_BRKTS_FREEMAIL
X-Spam-Check-By: sourceware.org
To: cygwin@cygwin.com
From: Olivier Lefevre <lefevrol@yahoo.com>
Subject: Re: Doubtful about unison
Date: Thu, 03 Mar 2011 14:46:59 +0100
Lines: 27
Message-ID: <iko64n$gdk$1@dough.gmane.org>
References: <ikf9e3$ub2$1@dough.gmane.org>	<ikfe1p$f00$1@dough.gmane.org>	<ikgf2f$vtm$1@dough.gmane.org>	<fggnm61cfbkp0fm6jm0lvrns74bk56bls4@4ax.com>	<ikgjlh$tk7$1@dough.gmane.org>	<aamnm61uhbmgbrq007c6oag7cd7n9hpdt2@4ax.com>	<ikgt6p$ubn$1@dough.gmane.org>	<4D6BFD09.8020600@gmx.de>	<AANLkTimi6R8MFSH63quHW3EqV4z5ucwtgNEPmCWWfjjc@mail.gmail.com>	<ikivlj$got$1@dough.gmane.org> <AANLkTikru7S2U8OsaQQoerwmruWVLcRc_ngDuNAiXcKB@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7
In-Reply-To: <AANLkTikru7S2U8OsaQQoerwmruWVLcRc_ngDuNAiXcKB@mail.gmail.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On 3/3/2011 8:06 AM, Andy Koppe wrote:
>> In a slightly different line of thought, isn't it rather brittle of
>> Cygwin that a minor upgrade (I was already at some 1.7 version)
>> breaks applications? Think, a contrario, of how you can still run
>> ancient Windows apps on XP.
>
> The problem you had was a case of broken forward compatibility,
> whereas your Windows example is talking about backward compatibility.

Yes, you're right, I had it mostly backwards.

However in this case it seems the problem wasn't that Unison used new
features of Cygwin but that somehow the layout of the Cygwin DLL had
changed, in a way that broke applications. I am not much of a system-
level programmer but in higher-level languages you'd expect things to
keep working as long as functionality (i.e., method signatures) has not
changed or that the new functionality is a strict superset of the older
one. I am sure I am betraying a woeful ignorance of C-level programming,
of linkers etc (which maybe isn't such a wise thing to do in a public
forum; oh well) with this question but isn't there a way to pin down
entry points and suchlike to ensure better forward compatibility? Would
rebaseall have helped? This is just for my enlightenment: I am not
suggesting you twist yourself into pretzel shapes trying to ensure
stellar forward compatibility; I suspect Cygwin programming is tricky
enough as it is.

-- O.L.


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

