From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 112450 invoked by alias); 6 Dec 2018 19:52:16 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 111881 invoked by uid 89); 6 Dec 2018 19:52:16 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_COUK,KAM_LAZY_DOMAIN_SECURITY autolearn=ham version=3.3.2 spammy=sk:_ZNSt13, sk:_znst13, mangled, Hx-spam-relays-external:ESMTPA X-HELO: smtp1.wavenetuk.net Received: from smtp1.wavenetuk.net (HELO smtp1.wavenetuk.net) (195.26.36.10) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 06 Dec 2018 19:52:14 +0000 Received: from euterpe-sie.home (host81-138-1-83.in-addr.btopenworld.com [81.138.1.83]) by smtp1.wavenetuk.net (Postfix) with ESMTPA id 450BF12017A1; Thu, 6 Dec 2018 19:52:12 +0000 (GMT) From: Iain Sandoe Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: [PATCH, PPC/Darwin] Fix long double symbol exports. Message-Id: Date: Thu, 06 Dec 2018 19:52:00 -0000 Cc: GCC-patches To: libstdc++ X-SW-Source: 2018-12/txt/msg00398.txt.bz2 Hi, During 8.x, the rs6000 target-specific mangling was reorganised which uncov= ered a long-standing bug in Darwin=E2=80=99s mangling for =E2=80=98IBM=E2=80=99 = long double. Now the symbols are correctly mangled, and we end up with a bunch of test link fails. This patch adds the necessary subset of the Linux long double exports to Da= rwin=E2=80=99s export table. I have tested this on a few bootstrap/regtest cycles on powerpc-darwin9, an= d on the power7 linux system. For the record, I=E2=80=99ve noted the library versions from the Linux side= , although Darwin does not version symbols in this way. OK for trunk and 8.x? thanks Iain libstdc++/ * /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols. diff --git a/libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver b/libstdc++-v3= /config/os/bsd/darwin/ppc-extra.ver index ffe32b6..f0aee9e 100644 --- a/libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver +++ b/libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver @@ -1 +1,22 @@ __eprintf; +# 3.4 + _ZNSt14numeric_limitsIgE*; + _ZNSirsERg; + _ZNSolsEg; + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg; + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg; + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP*; + _ZStlsIg[cw]St11char_traitsI[cw]EERSt13basic_ostreamIT0_T1_ES6_RKSt7comp= lexIT_E; + _ZStrsIg[cw]St11char_traitsI[cw]EERSt13basic_istreamIT0_T1_ES6_RSt7compl= exIT_E; +# 3.4.7 + _ZNSi10_M_extractIgEERSiRT_; + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_; + _ZNSo9_M_insertIgEERSoT_; + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_; +# 3.4.10 + _ZNKSt3tr14hashIgEclEg; + _ZNKSt4hashIgEclEg; +# ldbl 1.3 + _ZT[IS]g; + _ZT[IS]Pg; + _ZT[IS]PKg;