From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18576 invoked by alias); 29 Aug 2013 23:27:01 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 18563 invoked by uid 89); 29 Aug 2013 23:27:00 -0000 Received: from toast.topped-with-meat.com (HELO topped-with-meat.com) (204.197.218.159) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Thu, 29 Aug 2013 23:27:00 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,NO_RELAYS autolearn=ham version=3.3.2 X-HELO: topped-with-meat.com Received: by topped-with-meat.com (Postfix, from userid 5281) id 5B2002C072; Thu, 29 Aug 2013 16:26:58 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: "Joseph S. Myers" Cc: Subject: Re: [PATCH roland/arm-mcount] ARM: Disable compat mcount code when unneeded. In-Reply-To: Joseph S. Myers's message of Thursday, 29 August 2013 12:22:07 +0000 References: <20130827173014.D264D2C097@topped-with-meat.com> Message-Id: <20130829232658.5B2002C072@topped-with-meat.com> Date: Thu, 29 Aug 2013 23:27:00 -0000 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=QZT14Krv c=1 sm=1 tr=0 a=WkljmVdYkabdwxfqvArNOQ==:117 a=14OXPxybAAAA:8 a=Xem5zM324KUA:10 a=Z6MIti7PxpgA:10 a=kj9zAlcOel0A:10 a=hOe2yjtxAAAA:8 a=qgBXUMrbCwUA:10 a=WYvZkneSLhUGQKuHj4YA:9 a=CjuIK1q_8ugA:10 X-SW-Source: 2013-08/txt/msg00070.txt.bz2 > Isn't this about objects built with old compilers (before GCC 4.4, when > __gnu_mcount_nc was introduced; arm*-*-linux-gnueabi support was added in > 4.1), which is generally supported, rather than objects built with old > library headers, which isn't? I see. I'd still like to find a way to exclude this code from configurations that will never use it, i.e. a target for which there was never a compiler that produced _mcount calls. But perhaps there is no "generic" way to achieve that. I suppose I can just move it to a separate file and let my configuration drop that file from sysdep-routines. I think the ideal would be if we dropped it from the shared library (except for a compat_symbol where needed, of course) and had it only in libc_nonshared.a. But I can't see a way to e.g. write _mcount in terms of calling __gnu_mcount_nc (without breaking the profile so that it only tracks _mcount itself as the callee), and I don't want to expose something like __mcount_internal in the ABI just so that _mcount can call it. Can you think of anything better? Thanks, Roland