On 6 Feb 2013, at 17:20, Jack Howarth wrote:

> On Wed, Feb 06, 2013 at 05:37:12PM +0100, Patrick Marlier wrote:
>> Hi Jack,
>> 
>> Thanks for having a look at this.
>> 
>> However I don't understand why you need this:
>> 
>> Index: gcc/config/i386/darwin.h
>> ===================================================================
>> --- gcc/config/i386/darwin.h (revision 195764)
>> +++ gcc/config/i386/darwin.h (working copy)
>> @@ -131,8 +131,7 @@ extern int darwin_emit_branch_islands;
>>   "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
>>    %{mpc32:crtprec32.o%s} \
>>    %{mpc64:crtprec64.o%s} \
>> -   %{mpc80:crtprec80.o%s} \
>> -   %{fgnu-tm: -lcrttme.o}"
>> +   %{mpc80:crtprec80.o%s}" TM_DESTRUCTOR
>> 
>> #undef SUBTARGET_EXTRA_SPECS
>> #define SUBTARGET_EXTRA_SPECS                                   \
>> Index: gcc/config/darwin.h
>> ===================================================================
>> --- gcc/config/darwin.h (revision 195764)
>> +++ gcc/config/darwin.h (working copy)
>> @@ -363,7 +363,8 @@ extern GTY(()) int darwin_ms_struct;
>>   %{shared-libgcc:%:version-compare(< 10.5 mmacosx-version-min= crt3.o%s)}"
>> 
>> /* We want a destructor last in the list.  */
>> -#define ENDFILE_SPEC "%{fgnu-tm: -lcrttme.o}"
>> +#define TM_DESTRUCTOR "%{fgnu-tm: -lcrttme.o}"
>> +#define ENDFILE_SPEC TM_DESTRUCTOR
>> 
>> #define DARWIN_EXTRA_SPECS \
>>   { "darwin_crt1", DARWIN_CRT1_SPEC }, \
>> 
>> 
>> It seems you just add a macro TM_DESTRUCTOR which is the same as
>> ENDFILE_SPEC. Maybe I missed something (I am updating my svn)...
> 
> Patrick,
>   This was the patch Iain proposed off-list and I just cleaned up the 
> comments.
> I believe that he added the additional definition of TM_DESTRUCTOR so that 
> it could be used to replace the explicit instance of %{fgnu-tm: -lcrttme.o}
> in the definition of ENDFILE_SPEC in gcc/config/i386/darwin.h.

Correct - it was non-obvious to have a second instance embedded in the sub-dir.
(but I'm not going to complain if that change is removed).

==

Apropos support.

I believe our policy is to support the latest "official" XCode from Apple for 
each version of Darwin.

In some cases (Darwins < 9) the last issued XCode will not build GCC and it's 
neccessary to build odcctools and bootstrap via an older GCC.

but otherwise I don't see a point in trying to support anything that's an 
'unofficial developer' release of XCode.

Iain

Reply via email to