FSF gcc44. gcc45 and gcc46 issues

Jack Howarth howarth at bromo.med.uc.edu
Fri Jul 22 03:54:09 PDT 2011


On Fri, Jul 22, 2011 at 12:44:31AM -0700, Jeremy Huddleston wrote:
> 
> On Jul 21, 2011, at 8:55 PM, Jack Howarth wrote:
> 
> >   I don't really have to directly help with the gcc44, gcc45 and gcc46 packages as
> > I am overwhelmed with work with the clang transition for the new 10.7 tree in fink.
> > However there are a few issues you should be aware of with the FSF gcc builds on Lion.
> > First, upstream gmp 5.0.2 builds fine on clang but is still broken on llvm-gcc.
> 
> Yes.  That was addressed in r80732.  I'm content just not bothering with llvm-gcc if clang works as a replacement.
> 
> <snip gmp />
> 
> CCing mww so he sees these gcc items vvvv   ... this really should've been in a ticket...

Jeremy,
   Yes, those changes went in at different times upstream. The darwin[1][1-9]* syntax came from
Apple's gcc Lion patch. The darwin[12]* syntax was selected on the incorrect assumption that all
Xcode 3.2 releases supported -no_pie in the linker. It appears that only Xcode 3.2.3 and later
actually does. However policy with the darwin FSF gcc maintainers has been to require the latest
Xcode release for a given darwin release for a while now. So it unclear if the usage of 
darwin[12]* will be changed. Especially since Xcode is now automatically updated via SU
in darwin10.
                 Jack
> 
> I'd use darwin[1-9][1-9]* consistently rather than darwin[12]* places and darwin[1][1-9]* places
> 
> Thanks,
> Jeremy
> 
> 
> > The FSF gcc releases require the same fix as Apple uses for their gcc-4.2 build. This is to
> > disable the use of -pie in the linker during the compiler bootstrap. Otherwise both pch
> > and gcj/ecj1 will be broken. Also the libgcj.spec required a change to insure that the
> > gcj compiler passed -Wl,-no_pie as well to avoid creating broken executables. These patches
> > have been backported to gcc-4_5-branch for the upcoming gcc 4.5.4 release but not for
> > gcc-4_4-branch yet. For gcc-4.4, you can use the patch below which is based roughly on the
> > gcc-4_5-branch backport. Fortunately the patches made it into gcc-4.6.1 before release so
> > that needs no changes for Lion.
> >                Jack
> > 
> > --- gcc-4.4.6/libjava/configure.orig    2011-06-28 23:23:46.000000000 -0400
> > +++ gcc-4.4.6/libjava/configure 2011-06-28 23:48:05.000000000 -0400
> > @@ -19167,9 +19167,12 @@
> >         SYSTEMSPEC="-lunicows $SYSTEMSPEC"
> >       fi
> >     ;;
> > -    *-*-darwin[912]*)
> > +    *-*-darwin9*)
> >       SYSTEMSPEC="-allow_stack_execute"
> >     ;;
> > +    *-*-darwin[12]*)
> > +      SYSTEMSPEC="-no_pie -allow_stack_execute"
> > +    ;;
> >     *)
> >       SYSTEMSPEC=
> >     ;;
> > --- gcc-4.4.6/libjava/configure.ac.orig 2011-06-28 23:23:46.000000000 -0400
> > +++ gcc-4.4.6/libjava/configure.ac      2011-06-28 23:48:05.000000000 -0400
> > @@ -853,9 +853,12 @@
> >         SYSTEMSPEC="-lunicows $SYSTEMSPEC"
> >       fi
> >     ;;
> > -    *-*-darwin[[912]]*)
> > +    *-*-darwin9*)
> >       SYSTEMSPEC="-allow_stack_execute"
> >     ;;
> > +    *-*-darwin[[12]]*)
> > +      SYSTEMSPEC="-no_pie -allow_stack_execute"
> > +    ;;
> >     *)
> >       SYSTEMSPEC=
> >     ;;
> > --- gcc-4.4.6/configure.orig    2010-10-02 07:40:32.000000000 -0400
> > +++ gcc-4.4.6/configure 2011-06-28 23:48:05.000000000 -0400
> > @@ -2882,6 +2882,9 @@
> >     tentative_cc="/usr/cygnus/progressive/bin/gcc"
> >     host_makefile_frag="config/mh-lynxrs6k"
> >     ;;
> > +  i[3456789]86-*-darwin* | x86_64-*-darwin*)
> > +    host_makefile_frag="config/mh-x86-darwin"
> > +    ;;
> >   powerpc-*-darwin*)
> >     host_makefile_frag="config/mh-ppc-darwin"
> >     ;;
> > --- gcc-4.4.6/configure.ac.orig 2010-10-02 07:40:32.000000000 -0400
> > +++ gcc-4.4.6/configure.ac      2011-06-28 23:48:05.000000000 -0400
> > @@ -1091,6 +1091,9 @@
> >     tentative_cc="/usr/cygnus/progressive/bin/gcc"
> >     host_makefile_frag="config/mh-lynxrs6k"
> >     ;;
> > +  i[[3456789]]86-*-darwin* | x86_64-*-darwin*)
> > +    host_makefile_frag="config/mh-x86-darwin"
> > +    ;;
> >   powerpc-*-darwin*)
> >     host_makefile_frag="config/mh-ppc-darwin"
> >     ;;
> > --- /dev/null   2011-06-28 23:50:27.000000000 -0400
> > +++ gcc-4.4.6/config/mh-x86-darwin      2011-06-28 23:48:05.000000000 -0400
> > @@ -0,0 +1,2 @@
> > +# Ensure we don't try and use -pie, as it is incompatible with pch.
> > +BOOT_LDFLAGS += `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
> > 
> > _______________________________________________
> > macports-dev mailing list
> > macports-dev at lists.macosforge.org
> > http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
> > 


More information about the macports-dev mailing list