Sync with gcc repository.

This commit is contained in:
Ian Lance Taylor 2009-10-07 05:57:49 +00:00
parent 84e91636f7
commit bd45d6fa76
6 changed files with 2084 additions and 18 deletions

View File

@ -1,3 +1,43 @@
2009-10-06 Ian Lance Taylor <iant@google.com>
* Makefile.def: check-gold depends upon all-gas.
* Makefile.in: Rebuild.
2009-10-03 2009-02-05 Rafael Avila de Espindola <espindola@google.com>
* Makefile.def: all-lto-plugin depends on all-libiberty.
set bootstrap=true for lto-plugin.
Add lto-plugin.
* Makefile.in: Regenerate.
* configure.ac (host_libs): Add lto-plugin.
* configure: Regenerate.
2009-10-03 Diego Novillo <dnovillo@google.com>
* Makefile.tpl (HOST_EXPORTS): Add LIBELFLIBS and LIBELFINC.
(HOST_LIBELFLIBS): Define.
(HOST_LIBELFINC): Define.
* Makefile.in: Regenerate.
* configure.ac: Add --enable-lto.
Add --with-libelf, --with-libelf-include and --with-libelf-lib.
If --enable-lto is used, add 'lto' to new_enable_languages.
If --enable-lto is used and gold is enabled, add
lto-plugin to configdirs.
* configure: Regenerate.
2009-10-03 Simon Baldwin <simonb@google.com>
* configure.ac: If --with-system-zlib, suppress local zlib and
pass --with-system-zlib to subdir configure scripts.
* configure: Regenerate.
2009-10-01 Loren J. Rittle <ljrittle@acm.org>
Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Use $$s rather than
$(srcdir).
* Makefile.in: Rebuilt.
2009-09-29 Paolo Bonzini <bonzini@gnu.org> 2009-09-29 Paolo Bonzini <bonzini@gnu.org>
Sync from gcc: Sync from gcc:
@ -16,6 +56,11 @@
* config.sub, config.guess: Update from upstream sources. * config.sub, config.guess: Update from upstream sources.
2009-09-22 Loren J. Rittle <ljrittle@acm.org>
* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Remove stray $$r/.
* Makefile.in: Rebuilt.
2009-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2009-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR bootstrap/32272 PR bootstrap/32272

View File

@ -97,7 +97,8 @@ host_modules= { module= ld; bootstrap=true; };
host_modules= { module= libcpp; bootstrap=true; }; host_modules= { module= libcpp; bootstrap=true; };
host_modules= { module= libdecnumber; bootstrap=true; }; host_modules= { module= libdecnumber; bootstrap=true; };
host_modules= { module= libgui; }; host_modules= { module= libgui; };
host_modules= { module= libiberty; bootstrap=true; }; host_modules= { module= libiberty; bootstrap=true;
extra_configure_flags='@extra_host_libiberty_configure_flags@';};
// We abuse missing to avoid installing anything for libiconv. // We abuse missing to avoid installing anything for libiconv.
host_modules= { module= libiconv; host_modules= { module= libiconv;
extra_configure_flags='--disable-shared'; extra_configure_flags='--disable-shared';
@ -141,6 +142,7 @@ host_modules= { module= libtermcap; no_check=true;
missing=maintainer-clean; }; missing=maintainer-clean; };
host_modules= { module= utils; no_check=true; }; host_modules= { module= utils; no_check=true; };
host_modules= { module= gnattools; }; host_modules= { module= gnattools; };
host_modules= { module= lto-plugin; bootstrap=true; };
target_modules = { module= libstdc++-v3; target_modules = { module= libstdc++-v3;
bootstrap=true; bootstrap=true;
@ -346,6 +348,8 @@ dependencies = { module=all-fixincludes; on=all-libiberty; };
dependencies = { module=all-gnattools; on=all-target-libada; }; dependencies = { module=all-gnattools; on=all-target-libada; };
dependencies = { module=all-lto-plugin; on=all-libiberty; };
dependencies = { module=configure-mpfr; on=all-gmp; }; dependencies = { module=configure-mpfr; on=all-gmp; };
dependencies = { module=configure-mpc; on=all-mpfr; }; dependencies = { module=configure-mpc; on=all-mpfr; };
dependencies = { module=configure-ppl; on=all-gmp; }; dependencies = { module=configure-ppl; on=all-gmp; };
@ -424,6 +428,7 @@ dependencies = { module=all-gold; on=all-bfd; };
dependencies = { module=all-gold; on=all-build-bison; }; dependencies = { module=all-gold; on=all-build-bison; };
dependencies = { module=all-gold; on=all-build-byacc; }; dependencies = { module=all-gold; on=all-build-byacc; };
dependencies = { module=check-gold; on=all-binutils; }; dependencies = { module=check-gold; on=all-binutils; };
dependencies = { module=check-gold; on=all-gas; };
dependencies = { module=configure-opcodes; on=configure-intl; }; dependencies = { module=configure-opcodes; on=configure-intl; };
dependencies = { module=all-opcodes; on=all-bfd; }; dependencies = { module=all-opcodes; on=all-bfd; };

File diff suppressed because it is too large Load Diff

View File

@ -222,6 +222,8 @@ HOST_EXPORTS = \
PPLINC="$(HOST_PPLINC)"; export PPLINC; \ PPLINC="$(HOST_PPLINC)"; export PPLINC; \
CLOOGLIBS="$(HOST_CLOOGLIBS)"; export CLOOGLIBS; \ CLOOGLIBS="$(HOST_CLOOGLIBS)"; export CLOOGLIBS; \
CLOOGINC="$(HOST_CLOOGINC)"; export CLOOGINC; \ CLOOGINC="$(HOST_CLOOGINC)"; export CLOOGINC; \
LIBELFLIBS="$(HOST_LIBELFLIBS)" ; export LIBELFLIBS; \
LIBELFINC="$(HOST_LIBELFINC)" ; export LIBELFINC; \
@if gcc-bootstrap @if gcc-bootstrap
$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
@endif gcc-bootstrap @endif gcc-bootstrap
@ -238,7 +240,7 @@ POSTSTAGE1_HOST_EXPORTS = \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
-I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
-I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
-I$$r/$(srcdir)/libstdc++-v3/libsupc++ \ -I$$s/libstdc++-v3/libsupc++ \
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \
CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; \ CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; \
GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \ GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
@ -296,6 +298,10 @@ HOST_PPLINC = @pplinc@
HOST_CLOOGLIBS = @clooglibs@ HOST_CLOOGLIBS = @clooglibs@
HOST_CLOOGINC = @clooginc@ HOST_CLOOGINC = @clooginc@
# Where to find libelf
HOST_LIBELFLIBS = @libelflibs@
HOST_LIBELFINC = @libelfinc@
# ---------------------------------------------- # ----------------------------------------------
# Programs producing files for the BUILD machine # Programs producing files for the BUILD machine
# ---------------------------------------------- # ----------------------------------------------

880
configure vendored
View File

@ -553,6 +553,42 @@ PACKAGE_URL=
ac_unique_file="move-if-change" ac_unique_file="move-if-change"
enable_option_checking=no enable_option_checking=no
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"
ac_subst_vars='LTLIBOBJS ac_subst_vars='LTLIBOBJS
LIBOBJS LIBOBJS
compare_exclusions compare_exclusions
@ -637,6 +673,12 @@ CFLAGS_FOR_TARGET
DEBUG_PREFIX_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET
SYSROOT_CFLAGS_FOR_TARGET SYSROOT_CFLAGS_FOR_TARGET
stage1_languages stage1_languages
extra_host_libiberty_configure_flags
libelfinc
libelflibs
EGREP
GREP
CPP
clooginc clooginc
clooglibs clooglibs
pplinc pplinc
@ -764,6 +806,10 @@ with_cloog
with_cloog_include with_cloog_include
with_cloog_lib with_cloog_lib
enable_cloog_version_check enable_cloog_version_check
enable_lto
with_libelf
with_libelf_include
with_libelf_lib
enable_stage1_languages enable_stage1_languages
enable_objc_gc enable_objc_gc
with_build_sysroot with_build_sysroot
@ -787,6 +833,7 @@ CPPFLAGS
CXX CXX
CXXFLAGS CXXFLAGS
CCC CCC
CPP
AR AR
AS AS
DLLTOOL DLLTOOL
@ -1441,6 +1488,7 @@ Optional Features:
--enable-build-with-cxx build with C++ compiler instead of C compiler --enable-build-with-cxx build with C++ compiler instead of C compiler
--disable-ppl-version-check disable check for PPL version --disable-ppl-version-check disable check for PPL version
--disable-cloog-version-check disable check for CLooG version --disable-cloog-version-check disable check for CLooG version
--enable-lto enable link time optimization support
--enable-stage1-languages[=all] choose additional languages to build during --enable-stage1-languages[=all] choose additional languages to build during
stage1. Mostly useful for compiler development. stage1. Mostly useful for compiler development.
--enable-objc-gc enable use of Boehm's garbage collector with the --enable-objc-gc enable use of Boehm's garbage collector with the
@ -1495,6 +1543,11 @@ Optional Packages:
plus --with-cloog-lib=PATH/lib plus --with-cloog-lib=PATH/lib
--with-cloog-include=PATH Specify directory for installed CLooG include files --with-cloog-include=PATH Specify directory for installed CLooG include files
--with-cloog-lib=PATH Specify the directory for the installed CLooG library --with-cloog-lib=PATH Specify the directory for the installed CLooG library
--with-libelf=PATH Specify prefix directory for the installed libelf package
Equivalent to --with-libelf-include=PATH/include
plus --with-libelf-lib=PATH/lib
--with-libelf-include=PATH Specify directory for installed libelf include files
--with-libelf-lib=PATH Specify the directory for the installed libelf library
--with-build-sysroot=SYSROOT --with-build-sysroot=SYSROOT
use sysroot as the system root during the build use sysroot as the system root during the build
--with-debug-prefix-map='A=B C=D ...' --with-debug-prefix-map='A=B C=D ...'
@ -1514,6 +1567,7 @@ Some influential environment variables:
you have headers in a nonstandard directory <include dir> you have headers in a nonstandard directory <include dir>
CXX C++ compiler command CXX C++ compiler command
CXXFLAGS C++ compiler flags CXXFLAGS C++ compiler flags
CPP C preprocessor
AR AR for the host AR AR for the host
AS AS for the host AS AS for the host
DLLTOOL DLLTOOL for the host DLLTOOL DLLTOOL for the host
@ -1760,6 +1814,203 @@ fi
return $ac_retval return $ac_retval
} # ac_fn_c_try_link } # ac_fn_c_try_link
# ac_fn_c_try_cpp LINENO
# ----------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_cpp ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
} # ac_fn_c_try_cpp
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
# the include files in INCLUDES and setting the cache variable VAR
# accordingly.
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
# Is the header compilable?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
$as_echo_n "checking $2 usability... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_header_compiler=yes
else
ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }
# Is the header present?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
$as_echo_n "checking $2 presence... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <$2>
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
ac_header_preproc=yes
else
ac_header_preproc=no
fi
rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
yes:no: )
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
;;
no:yes:* )
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_c_check_header_mongrel
# ac_fn_c_try_run LINENO
# ----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
# that executables *can* be run.
ac_fn_c_try_run ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then :
ac_retval=0
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
} # ac_fn_c_try_run
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
# INCLUDES, setting the cache variable VAR accordingly.
ac_fn_c_check_header_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
eval "$3=yes"
else
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
eval ac_res=\$$3
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
} # ac_fn_c_check_header_compile
cat >config.log <<_ACEOF cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
@ -2768,6 +3019,13 @@ if test x$with_gnu_as = xno ; then
noconfigdirs="$noconfigdirs gas" noconfigdirs="$noconfigdirs gas"
fi fi
use_included_zlib=
# Make sure we don't let ZLIB be added if we didn't want it.
if test x$with_system_zlib = xyes ; then
use_included_zlib=no
noconfigdirs="$noconfigdirs zlib"
fi
# some tools are so dependent upon X11 that if we're not building with X, # some tools are so dependent upon X11 that if we're not building with X,
# it's not even worth trying to configure, much less build, that tool. # it's not even worth trying to configure, much less build, that tool.
@ -5667,6 +5925,602 @@ fi
# Check for LTO support.
# Check whether --enable-lto was given.
if test "${enable_lto+set}" = set; then :
enableval=$enable_lto; enable_lto=$enableval
else
enable_lto=yes; default_enable_lto=yes
fi
if test x"$enable_lto" = x"yes" ; then
# Make sure that libelf.h and gelf.h are available.
# Check whether --with-libelf was given.
if test "${with_libelf+set}" = set; then :
withval=$with_libelf;
fi
# Check whether --with-libelf_include was given.
if test "${with_libelf_include+set}" = set; then :
withval=$with_libelf_include;
fi
# Check whether --with-libelf_lib was given.
if test "${with_libelf_lib+set}" = set; then :
withval=$with_libelf_lib;
fi
case $with_libelf in
"")
libelflibs="-lelf"
libelfinc="-I/usr/include/libelf"
;;
*)
libelflibs="-L$with_libelf/lib -lelf"
libelfinc="-I$with_libelf/include -I$with_libelf/include/libelf"
LIBS="$libelflibs $LIBS"
;;
esac
if test "x$with_libelf_include" != x; then
libelfinc="-I$with_libelf_include"
fi
if test "x$with_libelf_lib" != x; then
libelflibs="-L$with_libelf_lib -lelf"
LIBS="$libelflibs $LIBS"
fi
if test "x$with_libelf$with_libelf_include$with_libelf_lib" = x \
&& test -d ${srcdir}/libelf; then
libelflibs='-L$$r/$(HOST_SUBDIR)/libelf/.libs -L$$r/$(HOST_SUBDIR)/libelf/_libs -lelf '
libelfinc='-I$$r/$(HOST_SUBDIR)/libelf/include -I$$s/libelf/include'
LIBS="$libelflibs $LIBS"
fi
saved_CFLAGS="$CFLAGS"
saved_CPPFLAGS="$CPPFLAGS"
saved_LIBS="$LIBS"
CFLAGS="$CFLAGS $libelfinc"
CPPFLAGS="$CPPFLAGS $libelfinc"
LIBS="$LIBS $libelflibs"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
fi
if test -z "$CPP"; then
if test "${ac_cv_prog_CPP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
# Double quotes because CPP needs to be expanded
for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
do
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
break
fi
done
ac_cv_prog_CPP=$CPP
fi
CPP=$ac_cv_prog_CPP
else
ac_cv_prog_CPP=$CPP
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
# Use a header file that comes with gcc, so configuring glibc
# with a fresh cross-compiler works.
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
# <limits.h> exists even on freestanding compilers.
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
Syntax error
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
else
# Broken: fails on valid input.
continue
fi
rm -f conftest.err conftest.$ac_ext
# OK, works on sane cases. Now check whether nonexistent headers
# can be detected and how.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ac_nonexistent.h>
_ACEOF
if ac_fn_c_try_cpp "$LINENO"; then :
# Broken: success on invalid input.
continue
else
# Passes both tests.
ac_preproc_ok=:
break
fi
rm -f conftest.err conftest.$ac_ext
done
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then :
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." "$LINENO" 5; }
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
if test "${ac_cv_path_GREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -z "$GREP"; then
ac_path_GREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_GREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_GREP="$ac_path_GREP"
ac_path_GREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_GREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
$as_echo "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
if test -z "$EGREP"; then
ac_path_EGREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
{ test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
$as_echo 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_EGREP="$ac_path_EGREP"
ac_path_EGREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_EGREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
$as_echo_n "checking for ANSI C header files... " >&6; }
if test "${ac_cv_header_stdc+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_header_stdc=yes
else
ac_cv_header_stdc=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <string.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "memchr" >/dev/null 2>&1; then :
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "free" >/dev/null 2>&1; then :
else
ac_cv_header_stdc=no
fi
rm -f conftest*
fi
if test $ac_cv_header_stdc = yes; then
# /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
if test "$cross_compiling" = yes; then :
:
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <ctype.h>
#include <stdlib.h>
#if ((' ' & 0x0FF) == 0x020)
# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#else
# define ISLOWER(c) \
(('a' <= (c) && (c) <= 'i') \
|| ('j' <= (c) && (c) <= 'r') \
|| ('s' <= (c) && (c) <= 'z'))
# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
#endif
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
main ()
{
int i;
for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i))
|| toupper (i) != TOUPPER (i))
return 2;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
else
ac_cv_header_stdc=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then
$as_echo "#define STDC_HEADERS 1" >>confdefs.h
fi
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
eval as_val=\$$as_ac_Header
if test "x$as_val" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
done
for ac_header in libelf.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "libelf.h" "ac_cv_header_libelf_h" "$ac_includes_default"
if test "x$ac_cv_header_libelf_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBELF_H 1
_ACEOF
have_libelf_h=yes
fi
done
for ac_header in gelf.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "gelf.h" "ac_cv_header_gelf_h" "$ac_includes_default"
if test "x$ac_cv_header_gelf_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_GELF_H 1
_ACEOF
have_gelf_h=yes
fi
done
for ac_header in libelf/libelf.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "libelf/libelf.h" "ac_cv_header_libelf_libelf_h" "$ac_includes_default"
if test "x$ac_cv_header_libelf_libelf_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBELF_LIBELF_H 1
_ACEOF
have_libelf_libelf_h=yes
fi
done
for ac_header in libelf/gelf.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "libelf/gelf.h" "ac_cv_header_libelf_gelf_h" "$ac_includes_default"
if test "x$ac_cv_header_libelf_gelf_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBELF_GELF_H 1
_ACEOF
have_libelf_gelf_h=yes
fi
done
# If we couldn't find libelf.h and the user forced it, emit an error.
if test x"$have_libelf_h" != x"yes" \
&& test x"$have_libelf_libelf_h" != x"yes" ; then
if test x"$default_enable_lto" != x"yes" ; then
as_fn_error "LTO support requires libelf.h or libelf/libelf.h." "$LINENO" 5
else
enable_lto=no
libelflibs=
libelfinc=
fi
fi
# If we couldn't find gelf.h and the user forced it, emit an error.
if test x"$have_gelf_h" != x"yes" \
&& test x"$have_libelf_gelf_h" != x"yes" ; then
if test x"$default_enable_lto" != x"yes" ; then
as_fn_error "LTO support requires gelf.h or libelf/gelf.h." "$LINENO" 5
else
enable_lto=no
libelflibs=
libelfinc=
fi
fi
# Check that the detected libelf has the functions we need. We cannot
# rely on just detecting the headers since they do not include
# versioning information. Add functions, if needed.
if test x"$enable_lto" = x"yes" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the correct version of libelf" >&5
$as_echo_n "checking for the correct version of libelf... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libelf.h>
int
main ()
{
elf_errmsg (0);
elf_getscn (0, 0);
elf_nextscn (0, 0);
elf_strptr (0, 0, 0);
elf_getident (0, 0);
elf_getshdrstrndx (0, 0);
elf_begin (0, 0, 0);
elf_ndxscn (0);
elf_end (0);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; };
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }; enable_lto=no; libelflibs= ; libelfinc=
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
# If we couldn't enable LTO and the user forced it, emit an error.
if test x"$enable_lto" = x"no" \
&& test x"$default_enable_lto" != x"yes" ; then
as_fn_error "To enable LTO, GCC requires libelf v0.8.12+.
Try the --with-libelf, --with-libelf-include and --with-libelf-lib options
to specify its location." "$LINENO" 5
fi
fi
CFLAGS="$saved_CFLAGS"
CPPFLAGS="$saved_CPPFLAGS"
LIBS="$saved_LIBS"
# Flags needed for libelf.
fi
# By default, C is the only stage 1 language. # By default, C is the only stage 1 language.
stage1_languages=,c, stage1_languages=,c,
@ -5735,6 +6589,18 @@ if test -d ${srcdir}/gcc; then
done done
new_enable_languages=,c, new_enable_languages=,c,
# If LTO is enabled, add the LTO front end.
extra_host_libiberty_configure_flags=
if test "$enable_lto" = "yes" ; then
new_enable_languages="${new_enable_languages}lto,"
if test "${ENABLE_GOLD}" = "yes" ; then
configdirs="$configdirs lto-plugin"
extra_host_libiberty_configure_flags=--enable-shared
fi
fi
missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
potential_languages=,c, potential_languages=,c,
@ -6197,7 +7063,7 @@ if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
fi fi
fi fi
# Set with_gnu_as and with_gnu_ld as appropriate. # Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
# #
# This is done by determining whether or not the appropriate directory # This is done by determining whether or not the appropriate directory
# is available, and by checking whether or not specific configurations # is available, and by checking whether or not specific configurations
@ -6208,7 +7074,9 @@ fi
# #
# If the default for a toolchain is to use GNU as and ld, and you don't # If the default for a toolchain is to use GNU as and ld, and you don't
# want to do that, then you should use the --without-gnu-as and # want to do that, then you should use the --without-gnu-as and
# --without-gnu-ld options for the configure script. # --without-gnu-ld options for the configure script. Similarly, if
# the default is to use the included zlib and you don't want to do that,
# you should use the --with-system-zlib option for the configure script.
if test x${use_gnu_as} = x && if test x${use_gnu_as} = x &&
echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
@ -6222,6 +7090,14 @@ if test x${use_gnu_ld} = x &&
extra_host_args="$extra_host_args --with-gnu-ld" extra_host_args="$extra_host_args --with-gnu-ld"
fi fi
if test x${use_included_zlib} = x &&
echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
:
else
with_system_zlib=yes
extra_host_args="$extra_host_args --with-system-zlib"
fi
# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
# can detect this case. # can detect this case.

View File

@ -260,6 +260,13 @@ if test x$with_gnu_as = xno ; then
noconfigdirs="$noconfigdirs gas" noconfigdirs="$noconfigdirs gas"
fi fi
use_included_zlib=
# Make sure we don't let ZLIB be added if we didn't want it.
if test x$with_system_zlib = xyes ; then
use_included_zlib=no
noconfigdirs="$noconfigdirs zlib"
fi
# some tools are so dependent upon X11 that if we're not building with X, # some tools are so dependent upon X11 that if we're not building with X,
# it's not even worth trying to configure, much less build, that tool. # it's not even worth trying to configure, much less build, that tool.
@ -1611,6 +1618,127 @@ fi
AC_SUBST(clooglibs) AC_SUBST(clooglibs)
AC_SUBST(clooginc) AC_SUBST(clooginc)
# Check for LTO support.
AC_ARG_ENABLE(lto,
[ --enable-lto enable link time optimization support],
enable_lto=$enableval,
enable_lto=yes; default_enable_lto=yes)
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
plus --with-libelf-lib=PATH/lib])
AC_ARG_WITH(libelf_include, [ --with-libelf-include=PATH Specify directory for installed libelf include files])
AC_ARG_WITH(libelf_lib, [ --with-libelf-lib=PATH Specify the directory for the installed libelf library])
case $with_libelf in
"")
libelflibs="-lelf"
libelfinc="-I/usr/include/libelf"
;;
*)
libelflibs="-L$with_libelf/lib -lelf"
libelfinc="-I$with_libelf/include -I$with_libelf/include/libelf"
LIBS="$libelflibs $LIBS"
;;
esac
if test "x$with_libelf_include" != x; then
libelfinc="-I$with_libelf_include"
fi
if test "x$with_libelf_lib" != x; then
libelflibs="-L$with_libelf_lib -lelf"
LIBS="$libelflibs $LIBS"
fi
if test "x$with_libelf$with_libelf_include$with_libelf_lib" = x \
&& test -d ${srcdir}/libelf; then
libelflibs='-L$$r/$(HOST_SUBDIR)/libelf/.libs -L$$r/$(HOST_SUBDIR)/libelf/_libs -lelf '
libelfinc='-I$$r/$(HOST_SUBDIR)/libelf/include -I$$s/libelf/include'
LIBS="$libelflibs $LIBS"
fi
saved_CFLAGS="$CFLAGS"
saved_CPPFLAGS="$CPPFLAGS"
saved_LIBS="$LIBS"
CFLAGS="$CFLAGS $libelfinc"
CPPFLAGS="$CPPFLAGS $libelfinc"
LIBS="$LIBS $libelflibs"
AC_CHECK_HEADERS(libelf.h, [have_libelf_h=yes])
AC_CHECK_HEADERS(gelf.h, [have_gelf_h=yes])
AC_CHECK_HEADERS(libelf/libelf.h, [have_libelf_libelf_h=yes])
AC_CHECK_HEADERS(libelf/gelf.h, [have_libelf_gelf_h=yes])
# If we couldn't find libelf.h and the user forced it, emit an error.
if test x"$have_libelf_h" != x"yes" \
&& test x"$have_libelf_libelf_h" != x"yes" ; then
if test x"$default_enable_lto" != x"yes" ; then
AC_MSG_ERROR([LTO support requires libelf.h or libelf/libelf.h.])
else
enable_lto=no
libelflibs=
libelfinc=
fi
fi
# If we couldn't find gelf.h and the user forced it, emit an error.
if test x"$have_gelf_h" != x"yes" \
&& test x"$have_libelf_gelf_h" != x"yes" ; then
if test x"$default_enable_lto" != x"yes" ; then
AC_MSG_ERROR([LTO support requires gelf.h or libelf/gelf.h.])
else
enable_lto=no
libelflibs=
libelfinc=
fi
fi
# Check that the detected libelf has the functions we need. We cannot
# rely on just detecting the headers since they do not include
# versioning information. Add functions, if needed.
if test x"$enable_lto" = x"yes" ; then
AC_MSG_CHECKING([for the correct version of libelf])
AC_TRY_LINK(
[#include <libelf.h>],[
elf_errmsg (0);
elf_getscn (0, 0);
elf_nextscn (0, 0);
elf_strptr (0, 0, 0);
elf_getident (0, 0);
elf_getshdrstrndx (0, 0);
elf_begin (0, 0, 0);
elf_ndxscn (0);
elf_end (0);
],
[AC_MSG_RESULT([yes]);],
[AC_MSG_RESULT([no]); enable_lto=no; libelflibs= ; libelfinc= ]
)
# If we couldn't enable LTO and the user forced it, emit an error.
if test x"$enable_lto" = x"no" \
&& test x"$default_enable_lto" != x"yes" ; then
AC_MSG_ERROR([To enable LTO, GCC requires libelf v0.8.12+.
Try the --with-libelf, --with-libelf-include and --with-libelf-lib options
to specify its location.])
fi
fi
CFLAGS="$saved_CFLAGS"
CPPFLAGS="$saved_CPPFLAGS"
LIBS="$saved_LIBS"
# Flags needed for libelf.
AC_SUBST(libelflibs)
AC_SUBST(libelfinc)
fi
# By default, C is the only stage 1 language. # By default, C is the only stage 1 language.
stage1_languages=,c, stage1_languages=,c,
@ -1679,6 +1807,18 @@ if test -d ${srcdir}/gcc; then
done done
new_enable_languages=,c, new_enable_languages=,c,
# If LTO is enabled, add the LTO front end.
extra_host_libiberty_configure_flags=
if test "$enable_lto" = "yes" ; then
new_enable_languages="${new_enable_languages}lto,"
if test "${ENABLE_GOLD}" = "yes" ; then
configdirs="$configdirs lto-plugin"
extra_host_libiberty_configure_flags=--enable-shared
fi
fi
AC_SUBST(extra_host_libiberty_configure_flags)
missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ ` missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
potential_languages=,c, potential_languages=,c,
@ -2088,7 +2228,7 @@ if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
fi fi
fi fi
# Set with_gnu_as and with_gnu_ld as appropriate. # Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
# #
# This is done by determining whether or not the appropriate directory # This is done by determining whether or not the appropriate directory
# is available, and by checking whether or not specific configurations # is available, and by checking whether or not specific configurations
@ -2099,7 +2239,9 @@ fi
# #
# If the default for a toolchain is to use GNU as and ld, and you don't # If the default for a toolchain is to use GNU as and ld, and you don't
# want to do that, then you should use the --without-gnu-as and # want to do that, then you should use the --without-gnu-as and
# --without-gnu-ld options for the configure script. # --without-gnu-ld options for the configure script. Similarly, if
# the default is to use the included zlib and you don't want to do that,
# you should use the --with-system-zlib option for the configure script.
if test x${use_gnu_as} = x && if test x${use_gnu_as} = x &&
echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
@ -2113,6 +2255,14 @@ if test x${use_gnu_ld} = x &&
extra_host_args="$extra_host_args --with-gnu-ld" extra_host_args="$extra_host_args --with-gnu-ld"
fi fi
if test x${use_included_zlib} = x &&
echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
:
else
with_system_zlib=yes
extra_host_args="$extra_host_args --with-system-zlib"
fi
# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
# can detect this case. # can detect this case.