delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/10/06/18:12:38

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=sqUr1UC19qBf8lI1
/BrIYZIECleJX+N8V3Iw+V71weU2SHAXnm+DLMkYEsZyTeE67igw7gwBXCvqG3bn
rMpEdcT6vqldovT7E7929N60nrbgfN4rGRlqfkwE1LfpxzHopvZCeg2B5T3/8AkL
vMuj+wR1e3FfXIFf48W/nL0kJ6E=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:subject:to:references:from:message-id:date
:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=Ymlp5wvDXMlkpBCbTyi+sT
TrtVw=; b=Gh1sMlITv+cmXEr9lV8lEcg9rtNRAnFO39qDb1//hsuhdeQWREzyYg
yiobaqhqoFUJmXL4ucb7u8e5hahNWbZ9vxEnipvCYrsWLJfAIYFodSWxSc1XbK76
FBMTfbwO9KSQhUwhgl7VdXvzaVsE9YCu2OuII02Fhydj/tJPOkJBc=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.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
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=2.6 required=5.0 tests=AWL,BAYES_40,FREEMAIL_FROM,KAM_COUK,RCVD_IN_JMF_BR,SPF_PASS autolearn=no version=3.3.2
X-HELO: out.ipsmtp1nec.opaltelecom.net
X-SMTPAUTH: drstacey AT tiscali DOT co DOT uk
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A2HOAQCzRhRW/yJf0lUNUYN7bsAQIYV0AwICgXkQAQEBAQEBAQODWTwBAQEBAQEjAg1eAQEBAwEjBBFAEQsYAgIFFgsCAgkDAgECAUUTCAEBiCIVqyRxlC4BAQEHAQEBAR6BIopPhRQXglKBRQWSTYM3hRiKHox4jFc4hC5wAYg8AQEB
X-IPAS-Result: A2HOAQCzRhRW/yJf0lUNUYN7bsAQIYV0AwICgXkQAQEBAQEBAQODWTwBAQEBAQEjAg1eAQEBAwEjBBFAEQsYAgIFFgsCAgkDAgECAUUTCAEBiCIVqyRxlC4BAQEHAQEBAR6BIopPhRQXglKBRQWSTYM3hRiKHox4jFc4hC5wAYg8AQEB
Subject: Re: Updated: gcc-5.2.0-1 (Test x86/x86_64)
To: cygwin AT cygwin DOT com
References: <560BC46D DOT 3060500 AT gmail DOT com> <560C0863 DOT 70505 AT tiscali DOT co DOT uk> <560C6369 DOT 7060602 AT gmail DOT com> <560C71FB DOT 4030005 AT tiscali DOT co DOT uk> <560D2F6D DOT 90608 AT gmail DOT com> <5613F632 DOT 1080205 AT t-online DOT de> <56140A2F DOT 3000004 AT cornell DOT edu>
From: David Stacey <drstacey AT tiscali DOT co DOT uk>
Message-ID: <56144739.7040602@tiscali.co.uk>
Date: Tue, 6 Oct 2015 23:12:09 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <56140A2F.3000004@cornell.edu>
X-IsSubscribed: yes

On 06/10/15 18:51, Ken Brown wrote:
> On 10/6/2015 12:26 PM, Christian Franke wrote:
>> cyg Simple wrote:
>>> On 9/30/2015 7:36 PM, David Stacey wrote:
>>>> On 30/09/15 23:34, JonY wrote:
>>>>> On 10/1/2015 00:05, David Stacey wrote:
>>>>>> On 30/09/15 12:15, JonY wrote:
>>>>>>> gcc-5.2.0-1 has been uploaded for 32bit and 64bit Cygwin.
>>>>>>>
>>>>>>> This is the first series of the 5.x releases, and should be
>>>>>>> considered
>>>>>>> as experimental as such.
>>>>>> Have you managed to work around the ABI change in gcc-5 [1], or will
>>>>>> this require a mass rebuild at the point gcc-5 becomes 'current'?
>>>>>>
>>>>>> [1] 
>>>>>> -http://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
>>>>> As far as I know, every gcc release will break C++ ABI, so it would
>>>>> mean
>>>>> rebuilding everything C++.
>>>> According to the Red Hat blog above, the last time g++ caused an ABI
>>>> change was back in the 3.x days, so it hasn't happened for a while. Ah
>>>> well, we have maintainers for most packages in Cygwin, so we'll 
>>>> have to
>>>> co-ordinate a rebuild.
>>> Regardless, JonY is correct.  Every C++ release, regardless of the
>>> vendor, causes an ABI break with shared libraries and the naming of the
>>> object elements (mangled names).
>>
>> Probably not in this 4.X -> 5.X case. Otherwise the new cygstdc++-6.dll
>> should IMO be renamed to -6.1, -7 or similar.
>>
>> A diff of exported symbols of cygstdc++-6.dll 4.9.3-1 and 5.2.0 shows
>> that the new version only adds new symbols.
>>
>>
>> Results of a quick build check with smartmontools package:
>>
>> - Existing package which was built with g++ 4.9.2 runs with 5.2.0
>> cygstdc++-6.dll and cyggcc_s-1.dll.
>>
>> - A rebuild with g++ 5.2.0 does not run with 4.9.3 cygstdc++-6.dll due
>> to missing symbols. This is as expected because 5.X adds a new C++11
>> conforming std::string which is used by default
>> (https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html).
>>
>> - A rebuild with g++ 5.2.0 and CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 runs
>> with old 4.9.3 cygstdc++-6.dll and cyggcc_s.dll.
>>
>> So there is probably no need to rebuild existing C++ packages.
>
> What about the following scenario: Package P links against library L. 
> Library L is rebuilt to use the new ABI.  Isn't it possible that 
> package P will then have to be rebuilt as well?

My understanding is that if 'L' is built with -D_GLIBCXX_USE_CXX11_ABI=0 
then P wouldn't need to be rebuilt (I haven't tested that, though). 
However, this compiler switch loses some C++11 features of the STL, so 
it isn't a magic cure.

Dave.


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

- Raw text -


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