From: rguenth Date: Sat, 2 Jan 2010 14:13:37 +0000 (+0000) Subject: 2010-01-02 Richard Guenther X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=1a4f45ec561061175f65785bc33f8a4aa0007c0e 2010-01-02 Richard Guenther PR lto/41529 * configure.ac: Include config/elf.m4. Disable LTO if not builting for an elf target. * configure: Regenerate. config/ * elf.m4: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155565 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/ChangeLog b/ChangeLog index aa1bbabda8d..b346eeb8b0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-01-02 Richard Guenther + + PR lto/41529 + * configure.ac: Include config/elf.m4. Disable LTO if not + builting for an elf target. + * configure: Regenerate. + 2009-12-27 Christopher Faylor * MAINTAINERS: Change my email address. diff --git a/config/ChangeLog b/config/ChangeLog index 9e524fc8737..a881349ba84 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,8 @@ +2010-01-02 Richard Guenther + + PR lto/41529 + * elf.m4: New file. + 2009-11-30 Joseph Myers * largefile.m4 (ACX_LARGEFILE): Require AC_CANONICAL_HOST and diff --git a/config/elf.m4 b/config/elf.m4 new file mode 100644 index 00000000000..44d02498f24 --- /dev/null +++ b/config/elf.m4 @@ -0,0 +1,27 @@ +dnl Copyright (C) 2010 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl From Paolo Bonzini. + +dnl usage: ACX_ELF_TARGET_IFELSE([if-elf], [if-not-elf]) +AC_DEFUN([ACX_ELF_TARGET_IFELSE], [ +AC_REQUIRE([AC_CANONICAL_TARGET]) + +target_elf=no +case $target in + *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \ + *-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \ + alpha*-dec-osf* | *-interix*) + target_elf=no + ;; + *) + target_elf=yes + ;; +esac + +AS_IF([test $target_elf = yes], [$1], [$2]) +]) diff --git a/configure b/configure index 02236837982..f1df3a51cc9 100755 --- a/configure +++ b/configure @@ -5889,6 +5889,35 @@ else fi + + + +target_elf=no +case $target in + *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \ + *-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \ + alpha*-dec-osf* | *-interix*) + target_elf=no + ;; + *) + target_elf=yes + ;; +esac + +if test $target_elf = yes; then : + +else + if test x"$default_enable_lto" = x"yes" ; then + enable_lto=no +else + if test x"$enable_lto" = x"yes"; then + as_fn_error "LTO support requires an ELF target." "$LINENO" 5 + fi +fi +default_enable_lto=no +fi + + if test x"$enable_lto" = x"yes" ; then # Make sure that libelf.h and gelf.h are available. diff --git a/configure.ac b/configure.ac index dbc1565ec2a..9a7123227cd 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,7 @@ m4_include(config/acx.m4) m4_include(config/override.m4) m4_include(config/proginstall.m4) +m4_include(config/elf.m4) AC_INIT(move-if-change) AC_PREREQ(2.64) @@ -1601,6 +1602,16 @@ 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 # 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