On 26/05/2010 06:09, Dave Korn wrote: > On 26/05/2010 05:58, Dave Korn wrote: >> On 25/05/2010 18:33, Ralf Wildenhues wrote: >> >>> bcd70fb06d56d9316d49019f5c0a3109def08d39 158763 >>> a9ed67d000f285282e61aa9b87cc8d992a8731df 158762 >> I'm responsible for those two, and I'm copying them across right now; sorry >> for forgetting. > > And while I'm at it, I'll take care of these two as well: > >> 17281d1ee17f204064cfcbcc82089aefa19e3779 159527 >> 401f30d69e280e18a9581b819376d18786595d3b 159173 > > ... since they're one-liner additions to the section I'm synching.
I've synched across the above-mentioned GCC revisions to the top-level configure.ac script in /src, with the following ChangeLog: 2010-05-26 Dave Korn <dave.korn.cygwin AT gmail.com> Merge from gcc: 2010-05-18 Steven Bosscher <steven AT gcc.gnu.org> * configure.ac (--enable-lto): All *-apple-darwin* now support LTO. * configure: Regenerate. 2010-05-07 Steven Bosscher <steven AT gcc.gnu.org> * configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. * configure: Regenerate. 2010-04-27 Dave Korn <dave.korn.cygwin AT gmail.com> PR lto/42776 * configure.ac (--enable-lto): Refactor handling so libelf tests are only performed inside then-clause of ACX_ELF_TARGET_IFELSE, and allow LTO to be explicitly enabled on non-ELF platforms that are known to support it inside else-clause. * configure: Regenerate. Committed after building and testing binutils on i686-pc-cygwin just to make sure nothing went wrong in the merge. cheers, DaveK
Index: configure.ac =================================================================== RCS file: /cvs/src/src/configure.ac,v retrieving revision 1.102 diff -p -u -r1.102 configure.ac --- configure.ac 27 Apr 2010 14:24:37 -0000 1.102 +++ configure.ac 26 May 2010 04:54:16 -0000 @@ -1651,17 +1651,8 @@ AC_ARG_ENABLE(lto, enable_lto=$enableval, enable_lto=yes; default_enable_lto=yes) -ACX_ELF_TARGET_IFELSE([], -if test x"$default_enable_lto" = x"yes" ; then - enable_lto=no -else - if test x"$enable_lto" = x"yes"; then - AC_MSG_ERROR([LTO support requires an ELF target.]) - fi -fi -default_enable_lto=no) -if test x"$enable_lto" = x"yes" ; then +ACX_ELF_TARGET_IFELSE([if test x"$enable_lto" = x"yes" ; then # Make sure that libelf.h and gelf.h are available. AC_ARG_WITH(libelf, [ --with-libelf=PATH Specify prefix directory for the installed libelf package Equivalent to --with-libelf-include=PATH/include @@ -1777,7 +1768,25 @@ to specify its location.]) # Flags needed for libelf. AC_SUBST(libelflibs) AC_SUBST(libelfinc) -fi +fi],[if test x"$default_enable_lto" = x"yes" ; then + # On non-ELF platforms, LTO must be explicitly enabled. + enable_lto=no + else + # Apart from ELF platforms, only Windows supports LTO so far. It + # would also be nice to check the binutils support, but we don't + # have gcc_GAS_CHECK_FEATURE available here. For now, we'll just + # warn during gcc/ subconfigure; unless you're bootstrapping with + # -flto it won't be needed until after installation anyway. + case $target in + *-cygwin*|*-mingw*) ;; + *-apple-darwin*) ;; + *) if test x"$enable_lto" = x"yes"; then + AC_MSG_ERROR([LTO support is not enabled for this target.]) + fi + ;; + esac + fi + default_enable_lto=no]) # By default, C is the only stage 1 language.