"Joseph S. Myers" <jos...@codesourcery.com> writes:

> On Mon, 6 Jun 2011, Rainer Orth wrote:
>
>> Paolo Bonzini <bonz...@gnu.org> 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 
> <http://gcc.gnu.org/ml/gcc-patches/2010-10/msg01206.html>.  (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 
> <http://gcc.gnu.org/wiki/Top-Level_Libgcc_Migration>.  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_<macro>, 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.

I can give it a try if I can figure out how to define -fbuilding-libgcc
via the option handling machinery.  I just want to avoid having to
implement too many unrelated cleanups, otherwise it will take a year to
get this single patch done.

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to