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