From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3213 invoked by alias); 7 Jun 2011 15:20:57 -0000 Received: (qmail 3190 invoked by uid 22791); 7 Jun 2011 15:20:56 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 07 Jun 2011 15:20:38 +0000 Received: (qmail 11998 invoked from network); 7 Jun 2011 15:20:37 -0000 Received: from unknown (HELO digraph.polyomino.org.uk) (joseph@127.0.0.2) by mail.codesourcery.com with ESMTPA; 7 Jun 2011 15:20:37 -0000 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.72) (envelope-from ) id 1QTy56-0008TL-9o; Tue, 07 Jun 2011 15:20:36 +0000 Date: Tue, 07 Jun 2011 15:20:00 -0000 From: "Joseph S. Myers" To: Rainer Orth cc: Paolo Bonzini , gcc-patches@gcc.gnu.org, Ralf Wildenhues , Mike Stump , "Loren J. Rittle" , Kai Tietz , Dave Korn , Jason Thorpe , Krister Walfridsson , Uros Bizjak , Richard Henderson , Eric Botcazou Subject: Re: [build] Move ENABLE_EXECUTE_STACK to toplevel libgcc In-Reply-To: Message-ID: References: <4DE4AEC2.3030502@gnu.org> <4DE50FFB.90501@gnu.org> <4DE9054B.3050203@gnu.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 X-SW-Source: 2011-06/txt/msg00535.txt.bz2 On Mon, 6 Jun 2011, Rainer Orth wrote: > Paolo Bonzini writes: > > >> * Except for Darwin, the code uses TRAMPOLINE_SIZE. This only exists in > >> the backend headers. While it could be duplicated somewhere in the > >> libgcc configury, I'd rather propose that gcc define > >> __TRAMPOLINE_SIZE__ (in gcc/c-family/c-cppbuiltin.c (c_cpp_builtins) > >> to avoid this. On PowerPC Darwin, one cannot use TRAMPOLINE_SIZE > >> definition right now since the macro calls the rs6000_trampoline_size > >> function in rs6000/rs6000.c. This would be solved nicely by > >> __TRAMPOLINE_SIZE__. > > > > Good idea. > > Included in the revised patch below. This part will need Joseph's approval. Is this definition ever going to be of use to user code, or even to system headers? It looks purely like an implementation detail rather than something meaningful for users. That would tend to suggest conditioning it on the proposed new -fbuilding-libgcc option that I suggested in . (There are a *lot* of target macros that are in a similar position - see the list under "used by the compiler itself and libgcc" in . Even if we could define and document public semantics for corresponding predefined macros, I don't think they would be of practical use to users of GCC, so for most of them I expect defining __LIBGCC_, only if -fbuilding-libgcc, is the best way of eliminating the dependence on host tm.h without making implementation details visible to users of GCC.) So my view is that you should define __LIBGCC_TRAMPOLINE_SIZE__, only if -fbuilding-libgcc. -- Joseph S. Myers joseph@codesourcery.com