diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-02 14:13:37 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-02 14:13:37 +0000 |
commit | 1a4f45ec561061175f65785bc33f8a4aa0007c0e (patch) | |
tree | d3cf010a771c7989f27711166a6e0dcd842e9115 | |
parent | bfc463e4662ab7c4dcf6e85de5eaaa5e937781d9 (diff) | |
download | gcc-1a4f45ec561061175f65785bc33f8a4aa0007c0e.tar.gz |
2010-01-02 Richard Guenther <rguenther@suse.de>
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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | config/ChangeLog | 5 | ||||
-rw-r--r-- | config/elf.m4 | 27 | ||||
-rwxr-xr-x | configure | 29 | ||||
-rw-r--r-- | configure.ac | 11 |
5 files changed, 79 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index aa1bbabda8d..b346eeb8b0b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-01-02 Richard Guenther <rguenther@suse.de> + + 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 <me+cygwin@cgf.cx> * 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 <rguenther@suse.de> + + PR lto/41529 + * elf.m4: New file. + 2009-11-30 Joseph Myers <joseph@codesourcery.com> * 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 |