On Wed, Feb 06, 2013 at 05:28:33PM +0000, Iain Sandoe wrote:
> 
> 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.

Iain,
   Do remember that Xcode 4.x on Snow Leopard is the odd duck here. Those 
releases were the
only Xcode releases that Apple required to be explicitly purchased at a cost 
from the App Store.
Also, those releases were only briefly available from the App Store (as they 
were removed as
soon as Lion was released). So it is no longer the latest "official" Xcode for 
Snow Leopard
(unless you have a paid developer account). I suspect this episode will never 
be repeated and had
more to do with the novelty of the App Store at the time. Apple has been very 
good with Xcode
releases under Lion (starting with 4.2 up to the current 4.6 release) all being 
free.
           Jack

> 
> 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.

It's really neither fish nor fowl as Apple did release it 'officially' but only 
for a brief period of time.

> 
> Iain

Reply via email to