diff options
author | Richard Guenther <rguenther@suse.de> | 2010-01-02 14:13:37 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-01-02 14:13:37 +0000 |
commit | 7413962d04a4f1864db684a2d9a49d043322f299 (patch) | |
tree | d3cf010a771c7989f27711166a6e0dcd842e9115 | |
parent | 04176b913cb2aa24244d340afc3c793fff5c0c25 (diff) | |
download | gcc-7413962d04a4f1864db684a2d9a49d043322f299.zip gcc-7413962d04a4f1864db684a2d9a49d043322f299.tar.gz gcc-7413962d04a4f1864db684a2d9a49d043322f299.tar.bz2 |
re PR bootstrap/41529 (LTO configuration should detect if the target is ELF)
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.
From-SVN: r155565
-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
@@ -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 9e524fc..a881349 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 0000000..44d0249 --- /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]) +]) @@ -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 dbc1565..9a71232 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 |