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=fd7noXpTBKAMyUN8 FRF+Wy6bSd8IUoOkDid/fOhrXXUzO+Kj9kKZNwjN3kiD2SW0ohZcEprc9PWpzZ2S VXFD+UwGLOCXf1N7cd+hM/+9HEjl4iEyXW1z9QuAR0ZuHvuJf4PeOUtmhReJixVf xdepI4m2qcAUvtrQmRM3gVG2YG0= 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=ar4/hMgiseeUbFPLE4Wzvw LkYik=; b=TU/vmdoVOH9J5pY7+Bk80yhcyfaMASDXUNooMtywHJQ7p++tmLCTKx 3EVIyuysVD0ghRKWpz1stt8HLWZQnWaUNiVrokbHX5gE7LQTnHyllz8glEFsuAKz lRnT/uuHE9GauZ9Kdd90IKqchUhpmoN7WKrmChF4TKIG26NNjxdH0= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , 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=-0.4 required=5.0 tests=AWL,BAYES_50,SPF_HELO_PASS,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: limerock02.mail.cornell.edu X-CornellRouted: This message has been Routed already. 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> From: Ken Brown Message-ID: <56140A2F.3000004@cornell.edu> Date: Tue, 6 Oct 2015 13:51:43 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <5613F632.1080205@t-online.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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? Ken -- 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