This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR libitm/55693


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]