From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 116965 invoked by alias); 28 Sep 2016 17:19:47 -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 116947 invoked by uid 89); 28 Sep 2016 17:19:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS,URIBL_RED autolearn=ham version=3.3.2 spammy= X-Spam-User: qpsmtpd, 2 recipients X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 28 Sep 2016 17:19:36 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=svr-ies-mbx-01.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1bpIW4-0000Fk-T4 from joseph_myers@mentor.com ; Wed, 28 Sep 2016 10:19:33 -0700 Received: from digraph.polyomino.org.uk (137.202.0.87) by svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 28 Sep 2016 18:19:29 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.86_2) (envelope-from ) id 1bpIVx-0004JB-AQ; Wed, 28 Sep 2016 17:19:25 +0000 Date: Wed, 28 Sep 2016 17:34:00 -0000 From: Joseph Myers To: Alan Modra CC: , , Segher Boessenkool Subject: Re: [PATCH 2/2] Disable .gnu_attribute tags in compatibility-ldbl.o In-Reply-To: <20160928024919.GI3336@bubble.grove.modra.org> Message-ID: References: <20160928011145.GF3336@bubble.grove.modra.org> <20160928011338.GG3336@bubble.grove.modra.org> <20160928024919.GI3336@bubble.grove.modra.org> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-SW-Source: 2016-09/txt/msg02169.txt.bz2 On Wed, 28 Sep 2016, Alan Modra wrote: > > I'd expect libraries such as libstdc++ and libgcc (generally, all compiler > > and libc libraries) to be set up in such a way that they will work with > > all long double choices in user code (via mangling and headers mapping > > access to long double library functions to the right versions for the > > chosen type) - and so need to be compiled without these attribute tags to > > avoid the linker complaining when someone links them with user code built > > with a non-default choice of long double. Certainly for glibc I'd think > > using the option globally to build everything is the right choice (well, > > except for libnldbl.a, where -mlong-double-64 attributes are logically > > correct). > > Yes, and this is why the linker only warns rather than errors on > mismatching .gnu.attributes tags. But for a library that is aware of long double variants, it shouldn't even warn. And given that we don't build multiple copies of GCC's libraries, they should be aware of the variants (via mangling them differently, ensuring versions of the relevant functions for each long double type are present, etc.) and so using them should not result in warnings. -- Joseph S. Myers joseph@codesourcery.com