From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 47871 invoked by alias); 28 Sep 2016 01:13:54 -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 47852 invoked by uid 89); 28 Sep 2016 01:13:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=1099, sk:compati X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-pa0-f66.google.com Received: from mail-pa0-f66.google.com (HELO mail-pa0-f66.google.com) (209.85.220.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 28 Sep 2016 01:13:43 +0000 Received: by mail-pa0-f66.google.com with SMTP id j3so1340650paj.2; Tue, 27 Sep 2016 18:13:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=uDxM1WwdCiYDL9sY0MKSwiH4qMVaMv7F/Im1cd/8/Qc=; b=IXFxPVzyz4ejxFxdQKA40aIl+jBMa/AL9i2vcZ2rL3ypERPhJAMT5SJN5NzLEYX5zW ABL3oUQv+5Xoz/Wck1bRkfCren62wr9CLGY0lfvHIWwDirG0vsKhlLAKVBbnIkTHpFSq /5X6mZZjhEwKgbZta01T1x6pri1Y7l0T/5fu8nBhPmcL76wVK+mWasCtW35uZb2cdyKt tHEsGE20j/t4dUy2IZ7/LZMHaGTdSyozaJgQlkfVsxPmKGs7CJFRdOpfCkLvzZcBLRjo qJd+s1qqSZYS/LRCFIahhAVAyKAC46ZxdV7uAToOD00o6fbOZeiJeYQMcFBSd2WO3IF1 Stog== X-Gm-Message-State: AE9vXwPjIgXzxrwNgbNzkxdGMUP+pGb343NF3jK1iKToYndSdQKCdA5hrIf9O6g5a9AXPQ== X-Received: by 10.66.134.51 with SMTP id ph19mr53432927pab.30.1475025221977; Tue, 27 Sep 2016 18:13:41 -0700 (PDT) Received: from bubble.grove.modra.org (CPE-58-160-146-233.sa.bigpond.net.au. [58.160.146.233]) by smtp.gmail.com with ESMTPSA id w186sm7525913pfb.84.2016.09.27.18.13.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 27 Sep 2016 18:13:41 -0700 (PDT) Received: by bubble.grove.modra.org (Postfix, from userid 1000) id 26926C03C4; Wed, 28 Sep 2016 10:43:38 +0930 (ACST) Date: Wed, 28 Sep 2016 01:26:00 -0000 From: Alan Modra To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Cc: Segher Boessenkool Subject: [PATCH 2/2] Disable .gnu_attribute tags in compatibility-ldbl.o Message-ID: <20160928011338.GG3336@bubble.grove.modra.org> References: <20160928011145.GF3336@bubble.grove.modra.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160928011145.GF3336@bubble.grove.modra.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-IsSubscribed: yes X-SW-Source: 2016-09/txt/msg02079.txt.bz2 compatibility-ldbl.o is compiled with -mlong-double-64. When long double .gnu_attribute tags are checked by the linker, it complains about the mismatch between this file and others in libstdc++. Bootstrapped and regression tested powerpc64le-linux and powerpc64-linux biarch. OK to apply? * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST. * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo): Use LONG_DOUBLE_COMPAT_FLAGS. * Makefile.in: Regenerate. * configure: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index baf605c..4a5de8c 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -375,6 +375,7 @@ GLIBCXX_ENABLE_LIBSTDCXX_DUAL_ABI([yes]) GLIBCXX_DEFAULT_ABI ac_ldbl_compat=no +LONG_DOUBLE_COMPAT_FLAGS="-mlong-double-64" case "$target" in powerpc*-*-linux* | \ sparc*-*-linux* | \ @@ -389,8 +390,13 @@ case "$target" in AC_DEFINE([_GLIBCXX_LONG_DOUBLE_COMPAT],1, [Define if compatibility should be provided for -mlong-double-64.]) port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver" + case "$target" in + powerpc*-*-linux*) + LONG_DOUBLE_COMPAT_FLAGS="$LONG_DOUBLE_COMPAT_FLAGS -mno-gnu-attr" ;; + esac fi esac +AC_SUBST(LONG_DOUBLE_COMPAT_FLAGS) GLIBCXX_CONDITIONAL(GLIBCXX_LDBL_COMPAT, test $ac_ldbl_compat = yes) # Check if assembler supports disabling hardware capability support. diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 00a6168..d9830c2 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -109,9 +109,9 @@ libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) # pass -mlong-double-64. if GLIBCXX_LDBL_COMPAT compatibility-ldbl.lo: compatibility-ldbl.cc - $(LTCXXCOMPILE) -mlong-double-64 -c $< + $(LTCXXCOMPILE) $(LONG_DOUBLE_COMPAT_FLAGS) -c $< compatibility-ldbl.o: compatibility-ldbl.cc - $(CXXCOMPILE) -mlong-double-64 -c $< + $(CXXCOMPILE) $(LONG_DOUBLE_COMPAT_FLAGS) -c $< endif # Use special rules for C++11 files/objects. -- Alan Modra Australia Development Lab, IBM