From 3a3305bfe6ad2d42b0c13449666b6b87faa04808 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 13 Jun 2010 19:21:03 +0200 Subject: [PATCH] gcc: - update to gcc-4.5-20100610 --- .../gcc/patches/gcc-4.5-bfd_and_gold.diff | 4704 ++++++++++++++++- ...gcc-4.5-disable_multilib_i386_linux64.diff | 6 +- .../gcc/patches/gcc-4.5-dynamic_linker.diff | 30 +- .../patches/gcc-4.5-libstdc++-v3_config.diff | 6 +- packages/toolchain/lang/gcc/url | 2 +- 5 files changed, 4660 insertions(+), 88 deletions(-) diff --git a/packages/toolchain/lang/gcc/patches/gcc-4.5-bfd_and_gold.diff b/packages/toolchain/lang/gcc/patches/gcc-4.5-bfd_and_gold.diff index 2c124375ef..2f3924a273 100644 --- a/packages/toolchain/lang/gcc/patches/gcc-4.5-bfd_and_gold.diff +++ b/packages/toolchain/lang/gcc/patches/gcc-4.5-bfd_and_gold.diff @@ -1,6 +1,6 @@ -diff -Naur gcc-4.5-20100603-old/configure gcc-4.5-20100603-new/configure ---- gcc-4.5-20100603-old/configure 2010-04-20 03:19:57.000000000 -0700 -+++ gcc-4.5-20100603-new/configure 2010-06-03 16:04:45.000000000 -0700 +diff -Naur gcc-4.5-20100610-old/configure gcc-4.5-20100610-new/configure +--- gcc-4.5-20100610-old/configure 2010-06-04 08:16:38.000000000 -0700 ++++ gcc-4.5-20100610-new/configure 2010-06-11 09:34:00.000000000 -0700 @@ -1483,7 +1483,7 @@ --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) @@ -100,9 +100,9 @@ diff -Naur gcc-4.5-20100603-old/configure gcc-4.5-20100603-new/configure # Configure extra directories which are host specific case "${host}" in -diff -Naur gcc-4.5-20100603-old/configure.ac gcc-4.5-20100603-new/configure.ac ---- gcc-4.5-20100603-old/configure.ac 2010-04-20 03:19:57.000000000 -0700 -+++ gcc-4.5-20100603-new/configure.ac 2010-06-03 16:04:45.000000000 -0700 +diff -Naur gcc-4.5-20100610-old/configure.ac gcc-4.5-20100610-new/configure.ac +--- gcc-4.5-20100610-old/configure.ac 2010-06-04 08:16:38.000000000 -0700 ++++ gcc-4.5-20100610-new/configure.ac 2010-06-11 09:34:00.000000000 -0700 @@ -174,7 +174,7 @@ # know that we are building the simulator. # binutils, gas and ld appear in that order because it makes sense to run @@ -192,9 +192,9 @@ diff -Naur gcc-4.5-20100603-old/configure.ac gcc-4.5-20100603-new/configure.ac # Configure extra directories which are host specific case "${host}" in -diff -Naur gcc-4.5-20100603-old/gcc/collect2.c gcc-4.5-20100603-new/gcc/collect2.c ---- gcc-4.5-20100603-old/gcc/collect2.c 2010-04-27 13:14:19.000000000 -0700 -+++ gcc-4.5-20100603-new/gcc/collect2.c 2010-06-03 16:04:45.000000000 -0700 +diff -Naur gcc-4.5-20100610-old/gcc/collect2.c gcc-4.5-20100610-new/gcc/collect2.c +--- gcc-4.5-20100610-old/gcc/collect2.c 2010-04-27 13:14:19.000000000 -0700 ++++ gcc-4.5-20100610-new/gcc/collect2.c 2010-06-11 09:34:00.000000000 -0700 @@ -1114,17 +1114,19 @@ int main (int argc, char **argv) @@ -437,9 +437,9 @@ diff -Naur gcc-4.5-20100603-old/gcc/collect2.c gcc-4.5-20100603-new/gcc/collect2 #ifdef REAL_NM_FILE_NAME nm_file_name = find_a_file (&path, REAL_NM_FILE_NAME); -diff -Naur gcc-4.5-20100603-old/gcc/common.opt gcc-4.5-20100603-new/gcc/common.opt ---- gcc-4.5-20100603-old/gcc/common.opt 2010-03-17 20:01:09.000000000 -0700 -+++ gcc-4.5-20100603-new/gcc/common.opt 2010-06-03 16:04:45.000000000 -0700 +diff -Naur gcc-4.5-20100610-old/gcc/common.opt gcc-4.5-20100610-new/gcc/common.opt +--- gcc-4.5-20100610-old/gcc/common.opt 2010-03-17 20:01:09.000000000 -0700 ++++ gcc-4.5-20100610-new/gcc/common.opt 2010-06-11 09:34:00.000000000 -0700 @@ -1401,6 +1401,9 @@ Common Report Var(flag_unwind_tables) Optimization Just generate unwind tables for exception handling @@ -450,9 +450,9 @@ diff -Naur gcc-4.5-20100603-old/gcc/common.opt gcc-4.5-20100603-new/gcc/common.o fuse-linker-plugin Common Undocumented -diff -Naur gcc-4.5-20100603-old/gcc/configure gcc-4.5-20100603-new/gcc/configure ---- gcc-4.5-20100603-old/gcc/configure 2010-05-25 12:24:46.000000000 -0700 -+++ gcc-4.5-20100603-new/gcc/configure 2010-06-03 16:04:45.000000000 -0700 +diff -Naur gcc-4.5-20100610-old/gcc/configure gcc-4.5-20100610-new/gcc/configure +--- gcc-4.5-20100610-old/gcc/configure 2010-06-10 07:16:43.000000000 -0700 ++++ gcc-4.5-20100610-new/gcc/configure 2010-06-11 09:36:27.000000000 -0700 @@ -682,6 +682,7 @@ gcc_cv_objdump ORIGINAL_NM_FOR_TARGET @@ -461,25 +461,25 @@ diff -Naur gcc-4.5-20100603-old/gcc/configure gcc-4.5-20100603-new/gcc/configure ORIGINAL_LD_FOR_TARGET ORIGINAL_PLUGIN_LD_FOR_TARGET gcc_cv_ld -@@ -17053,7 +17054,7 @@ +@@ -17106,7 +17107,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF --#line 17056 "configure" -+#line 17057 "configure" +-#line 17109 "configure" ++#line 17110 "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -17159,7 +17160,7 @@ +@@ -17212,7 +17213,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF --#line 17162 "configure" -+#line 17163 "configure" +-#line 17215 "configure" ++#line 17216 "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -20607,6 +20608,21 @@ +@@ -20660,6 +20661,21 @@ fi fi @@ -501,7 +501,7 @@ diff -Naur gcc-4.5-20100603-old/gcc/configure gcc-4.5-20100603-new/gcc/configure ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld PLUGIN_LD=`basename $gcc_cv_ld` -@@ -20633,6 +20649,9 @@ +@@ -20686,6 +20702,9 @@ ;; esac @@ -511,40 +511,4612 @@ diff -Naur gcc-4.5-20100603-old/gcc/configure gcc-4.5-20100603-new/gcc/configure { $as_echo "$as_me:${as_lineno-$LINENO}: checking what linker to use" >&5 $as_echo_n "checking what linker to use... " >&6; } if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext; then -diff -Naur gcc-4.5-20100603-old/gcc/configure.ac gcc-4.5-20100603-new/gcc/configure.ac ---- gcc-4.5-20100603-old/gcc/configure.ac 2010-05-25 12:24:46.000000000 -0700 -+++ gcc-4.5-20100603-new/gcc/configure.ac 2010-06-03 16:04:45.000000000 -0700 -@@ -1931,6 +1931,17 @@ - AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET) - fi]) - -+gcc_cv_ld_gold_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gold -+ -+AS_VAR_SET_IF(gcc_cv_gold,, [ -+if test -f $gcc_cv_ld_gold_srcdir/configure.ac \ -+ && test -f ../gold/Makefile \ -+ && test x$build = x$host; then -+ gcc_cv_gold=../gold/ld-new$build_exeext -+else -+ gcc_cv_gold='' -+fi]) -+ - ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld - PLUGIN_LD=`basename $gcc_cv_ld` - AC_ARG_WITH(plugin-ld, -@@ -1949,6 +1960,9 @@ - *) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;; - esac - -+ORIGINAL_GOLD_FOR_TARGET=$gcc_cv_gold -+AC_SUBST(ORIGINAL_GOLD_FOR_TARGET) -+ - AC_MSG_CHECKING(what linker to use) - if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext; then - # Single tree build which includes ld. We want to prefer it -diff -Naur gcc-4.5-20100603-old/gcc/doc/invoke.texi gcc-4.5-20100603-new/gcc/doc/invoke.texi ---- gcc-4.5-20100603-old/gcc/doc/invoke.texi 2010-04-06 07:02:22.000000000 -0700 -+++ gcc-4.5-20100603-new/gcc/doc/invoke.texi 2010-06-03 16:04:46.000000000 -0700 +diff -Naur gcc-4.5-20100610-old/gcc/configure.ac gcc-4.5-20100610-new/gcc/configure.ac +--- gcc-4.5-20100610-old/gcc/configure.ac 2010-06-10 07:16:43.000000000 -0700 ++++ gcc-4.5-20100610-new/gcc/configure.ac 1969-12-31 16:00:00.000000000 -0800 +@@ -1,4599 +0,0 @@ +-# configure.ac for GCC +-# Process this file with autoconf to generate a configuration script. +- +-# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +- +-#This file is part of GCC. +- +-#GCC is free software; you can redistribute it and/or modify it under +-#the terms of the GNU General Public License as published by the Free +-#Software Foundation; either version 3, or (at your option) any later +-#version. +- +-#GCC is distributed in the hope that it will be useful, but WITHOUT +-#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +-#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +-#for more details. +- +-#You should have received a copy of the GNU General Public License +-#along with GCC; see the file COPYING3. If not see +-#. +- +-# -------------------------------- +-# Initialization and sanity checks +-# -------------------------------- +- +-AC_PREREQ(2.64) +-AC_INIT +-AC_CONFIG_SRCDIR(tree.c) +-AC_CONFIG_HEADER(auto-host.h:config.in) +- +-gcc_version=`cat $srcdir/BASE-VER` +- +-# Determine the host, build, and target systems +-AC_CANONICAL_BUILD +-AC_CANONICAL_HOST +-AC_CANONICAL_TARGET +- +-# Determine the noncanonical target name, for directory use. +-ACX_NONCANONICAL_TARGET +- +-# Determine the target- and build-specific subdirectories +-GCC_TOPLEV_SUBDIRS +- +-# Set program_transform_name +-AC_ARG_PROGRAM +- +-# Check for bogus environment variables. +-# Test if LIBRARY_PATH contains the notation for the current directory +-# since this would lead to problems installing/building glibc. +-# LIBRARY_PATH contains the current directory if one of the following +-# is true: +-# - one of the terminals (":" and ";") is the first or last sign +-# - two terminals occur directly after each other +-# - the path contains an element with a dot in it +-AC_MSG_CHECKING(LIBRARY_PATH variable) +-changequote(,)dnl +-case ${LIBRARY_PATH} in +- [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* ) +- library_path_setting="contains current directory" +- ;; +- *) +- library_path_setting="ok" +- ;; +-esac +-changequote([,])dnl +-AC_MSG_RESULT($library_path_setting) +-if test "$library_path_setting" != "ok"; then +-AC_MSG_ERROR([ +-*** LIBRARY_PATH shouldn't contain the current directory when +-*** building gcc. Please change the environment variable +-*** and run configure again.]) +-fi +- +-# Test if GCC_EXEC_PREFIX contains the notation for the current directory +-# since this would lead to problems installing/building glibc. +-# GCC_EXEC_PREFIX contains the current directory if one of the following +-# is true: +-# - one of the terminals (":" and ";") is the first or last sign +-# - two terminals occur directly after each other +-# - the path contains an element with a dot in it +-AC_MSG_CHECKING(GCC_EXEC_PREFIX variable) +-changequote(,)dnl +-case ${GCC_EXEC_PREFIX} in +- [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* ) +- gcc_exec_prefix_setting="contains current directory" +- ;; +- *) +- gcc_exec_prefix_setting="ok" +- ;; +-esac +-changequote([,])dnl +-AC_MSG_RESULT($gcc_exec_prefix_setting) +-if test "$gcc_exec_prefix_setting" != "ok"; then +-AC_MSG_ERROR([ +-*** GCC_EXEC_PREFIX shouldn't contain the current directory when +-*** building gcc. Please change the environment variable +-*** and run configure again.]) +-fi +- +-# ----------- +-# Directories +-# ----------- +- +-# Specify the local prefix +-local_prefix= +-AC_ARG_WITH(local-prefix, +-[ --with-local-prefix=DIR specifies directory to put local include], +-[case "${withval}" in +-yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;; +-no) ;; +-*) local_prefix=$with_local_prefix ;; +-esac]) +- +-# Default local prefix if it is empty +-if test x$local_prefix = x; then +- local_prefix=/usr/local +-fi +- +-# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only +-# passed in by the toplevel make and thus we'd get different behavior +-# depending on where we built the sources. +-gcc_gxx_include_dir= +-# Specify the g++ header file directory +-AC_ARG_WITH(gxx-include-dir, +-[ --with-gxx-include-dir=DIR +- specifies directory to put g++ header files], +-[case "${withval}" in +-yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;; +-no) ;; +-*) gcc_gxx_include_dir=$with_gxx_include_dir ;; +-esac]) +- +-# This logic must match libstdc++-v3/acinclude.m4:GLIBCXX_EXPORT_INSTALL_INFO. +-if test x${gcc_gxx_include_dir} = x; then +- if test x${enable_version_specific_runtime_libs} = xyes; then +- gcc_gxx_include_dir='${libsubdir}/include/c++' +- else +- libstdcxx_incdir='include/c++/$(version)' +- if test x$host != x$target; then +- libstdcxx_incdir="$target_alias/$libstdcxx_incdir" +- fi +- gcc_gxx_include_dir="\$(libsubdir)/\$(libsubdir_to_prefix)$libstdcxx_incdir" +- fi +-fi +- +-AC_ARG_WITH(cpp_install_dir, +-[ --with-cpp-install-dir=DIR +- install the user visible C preprocessor in DIR +- (relative to PREFIX) as well as PREFIX/bin], +-[if test x$withval = xyes; then +- AC_MSG_ERROR([option --with-cpp-install-dir requires an argument]) +-elif test x$withval != xno; then +- cpp_install_dir=$withval +-fi]) +- +-# We would like to our source tree to be readonly. However when releases or +-# pre-releases are generated, the flex/bison generated files as well as the +-# various formats of manuals need to be included along with the rest of the +-# sources. Therefore we have --enable-generated-files-in-srcdir to do +-# just that. +- +-AC_MSG_CHECKING([whether to place generated files in the source directory]) +- dnl generated-files-in-srcdir is disabled by default +- AC_ARG_ENABLE(generated-files-in-srcdir, +-[ --enable-generated-files-in-srcdir +- put copies of generated files in source dir +- intended for creating source tarballs for users +- without texinfo bison or flex.], +- generated_files_in_srcdir=$enableval, +- generated_files_in_srcdir=no) +- +-AC_MSG_RESULT($generated_files_in_srcdir) +- +-if test "$generated_files_in_srcdir" = "yes"; then +- GENINSRC='' +-else +- GENINSRC='#' +-fi +-AC_SUBST(GENINSRC) +- +-# ------------------- +-# Find default linker +-# ------------------- +- +-# With GNU ld +-AC_ARG_WITH(gnu-ld, +-[ --with-gnu-ld arrange to work with GNU ld.], +-gnu_ld_flag="$with_gnu_ld", +-gnu_ld_flag=no) +- +-# With pre-defined ld +-AC_ARG_WITH(ld, +-[ --with-ld arrange to use the specified ld (full pathname)], +-DEFAULT_LINKER="$with_ld") +-if test x"${DEFAULT_LINKER+set}" = x"set"; then +- if test ! -x "$DEFAULT_LINKER"; then +- AC_MSG_ERROR([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER]) +- elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then +- gnu_ld_flag=yes +- fi +- AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER", +- [Define to enable the use of a default linker.]) +-fi +- +-gnu_ld=`if test x"$gnu_ld_flag" = x"yes"; then echo 1; else echo 0; fi` +-AC_DEFINE_UNQUOTED(HAVE_GNU_LD, $gnu_ld, [Define if using GNU ld.]) +- +-AC_MSG_CHECKING([whether a default linker was specified]) +-if test x"${DEFAULT_LINKER+set}" = x"set"; then +- if test x"$gnu_ld_flag" = x"no"; then +- AC_MSG_RESULT([yes ($DEFAULT_LINKER)]) +- else +- AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)]) +- fi +-else +- AC_MSG_RESULT(no) +-fi +- +-# With demangler in GNU ld +-AC_ARG_WITH(demangler-in-ld, +-[ --with-demangler-in-ld try to use demangler in GNU ld.], +-demangler_in_ld="$with_demangler_in_ld", +-demangler_in_ld=no) +- +-# ---------------------- +-# Find default assembler +-# ---------------------- +- +-# With GNU as +-AC_ARG_WITH(gnu-as, +-[ --with-gnu-as arrange to work with GNU as], +-gas_flag="$with_gnu_as", +-gas_flag=no) +- +-AC_ARG_WITH(as, +-[ --with-as arrange to use the specified as (full pathname)], +-DEFAULT_ASSEMBLER="$with_as") +-if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then +- if test ! -x "$DEFAULT_ASSEMBLER"; then +- AC_MSG_ERROR([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER]) +- elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then +- gas_flag=yes +- fi +- AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER", +- [Define to enable the use of a default assembler.]) +-fi +- +-gnu_as=`if test x"$gas_flag" = x"yes"; then echo 1; else echo 0; fi` +-AC_DEFINE_UNQUOTED(HAVE_GNU_AS, $gnu_as, [Define if using GNU as.]) +- +-AC_MSG_CHECKING([whether a default assembler was specified]) +-if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then +- if test x"$gas_flag" = x"no"; then +- AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)]) +- else +- AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)]) +- fi +-else +- AC_MSG_RESULT(no) +-fi +- +-# --------------- +-# Find C compiler +-# --------------- +- +-# If a non-executable a.out is present (e.g. created by GNU as above even if +-# invoked with -v only), the IRIX 6 native ld just overwrites the existing +-# file, even when creating an executable, so an execution test fails. +-# Remove possible default executable files to avoid this. +-# +-# FIXME: This really belongs into AC_PROG_CC and can be removed once +-# Autoconf includes it. +-rm -f a.out a.exe b.out +- +-# Find the native compiler +-AC_PROG_CC +-AM_PROG_CC_C_O +-AC_PROG_CXX +-ACX_PROG_GNAT([-I"$srcdir"/ada]) +- +-# autoconf is lame and doesn't give us any substitution variable for this. +-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then +- NO_MINUS_C_MINUS_O=yes +-else +- OUTPUT_OPTION='-o $@' +-fi +-AC_SUBST(NO_MINUS_C_MINUS_O) +-AC_SUBST(OUTPUT_OPTION) +- +-# Remove the -O2: for historical reasons, unless bootstrapping we prefer +-# optimizations to be activated explicitly by the toplevel. +-case "$CC" in +- */prev-gcc/xgcc*) ;; +- *) CFLAGS=`echo $CFLAGS | sed "s/-O[[s0-9]]* *//" ` ;; +-esac +-AC_SUBST(CFLAGS) +- +-# ------------------------- +-# Check C compiler features +-# ------------------------- +- +-AC_USE_SYSTEM_EXTENSIONS +-AC_PROG_CPP +-AC_C_INLINE +- +-# sizeof(char) is 1 by definition. +-AC_CHECK_SIZEOF(void *) +-AC_CHECK_SIZEOF(short) +-AC_CHECK_SIZEOF(int) +-AC_CHECK_SIZEOF(long) +-AC_CHECK_TYPES([long long], [AC_CHECK_SIZEOF(long long)]) +-AC_CHECK_TYPES([__int64], [AC_CHECK_SIZEOF(__int64)]) +-GCC_STDINT_TYPES +- +-# --------------------- +-# Warnings and checking +-# --------------------- +- +-# Check $CC warning features (if it's GCC). +-# We want to use -pedantic, but we don't want warnings about +-# * 'long long' +-# * variadic macros +-# * overlong strings +-# So, we only use -pedantic if we can disable those warnings. +- +-ACX_PROG_CC_WARNING_OPTS( +- m4_quote(m4_do([-W -Wall -Wwrite-strings -Wcast-qual])), [loose_warn]) +-ACX_PROG_CC_WARNING_OPTS( +- m4_quote(m4_do([-Wstrict-prototypes -Wmissing-prototypes])), +- [c_loose_warn]) +-ACX_PROG_CC_WARNING_OPTS( +- m4_quote(m4_do([-Wmissing-format-attribute])), [strict_warn]) +-ACX_PROG_CC_WARNING_OPTS( +- m4_quote(m4_do([-Wold-style-definition -Wc++-compat])), [c_strict_warn]) +-ACX_PROG_CC_WARNING_ALMOST_PEDANTIC( +- m4_quote(m4_do([-Wno-long-long -Wno-variadic-macros ], +- [-Wno-overlength-strings])), [strict_warn]) +-ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual], [strict_warn]) +- +-# The above macros do nothing if the compiler is not GCC. However, the +-# Makefile has more goo to add other flags, so these variables are used +-# to enable warnings only for GCC. +-warn_cflags= +-warn_cxxflags= +-if test "x$GCC" = "xyes"; then +- warn_cflags='$(GCC_WARN_CFLAGS)' +- warn_cxxflags='$(GCC_WARN_CXXFLAGS)' +-fi +-AC_SUBST(warn_cflags) +-AC_SUBST(warn_cxxflags) +- +-# Enable expensive internal checks +-is_release= +-if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then +- is_release=yes +-fi +- +-AC_ARG_ENABLE(checking, +-[ --enable-checking[=LIST] +- enable expensive run-time checks. With LIST, +- enable only specific categories of checks. +- Categories are: yes,no,all,none,release. +- Flags are: assert,df,fold,gc,gcac,gimple,misc, +- rtlflag,rtl,runtime,tree,valgrind,types.], +-[ac_checking_flags="${enableval}"],[ +-# Determine the default checks. +-if test x$is_release = x ; then +- ac_checking_flags=yes +-else +- ac_checking_flags=release +-fi]) +-IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS," +-for check in release $ac_checking_flags +-do +- case $check in +- # these set all the flags to specific states +- yes) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking= ; +- ac_fold_checking= ; ac_gc_checking=1 ; +- ac_gc_always_collect= ; ac_gimple_checking=1 ; ac_rtl_checking= ; +- ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; +- ac_tree_checking=1 ; ac_valgrind_checking= ; +- ac_types_checking=1 ;; +- no|none) ac_assert_checking= ; ac_checking= ; ac_df_checking= ; +- ac_fold_checking= ; ac_gc_checking= ; +- ac_gc_always_collect= ; ac_gimple_checking= ; ac_rtl_checking= ; +- ac_rtlflag_checking= ; ac_runtime_checking= ; +- ac_tree_checking= ; ac_valgrind_checking= ; +- ac_types_checking= ;; +- all) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking=1 ; +- ac_fold_checking=1 ; ac_gc_checking=1 ; +- ac_gc_always_collect=1 ; ac_gimple_checking=1 ; ac_rtl_checking=1 ; +- ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; +- ac_tree_checking=1 ; ac_valgrind_checking= ; +- ac_types_checking=1 ;; +- release) ac_assert_checking=1 ; ac_checking= ; ac_df_checking= ; +- ac_fold_checking= ; ac_gc_checking= ; +- ac_gc_always_collect= ; ac_gimple_checking= ; ac_rtl_checking= ; +- ac_rtlflag_checking= ; ac_runtime_checking=1 ; +- ac_tree_checking= ; ac_valgrind_checking= ; +- ac_types_checking= ;; +- # these enable particular checks +- assert) ac_assert_checking=1 ;; +- df) ac_df_checking=1 ;; +- fold) ac_fold_checking=1 ;; +- gc) ac_gc_checking=1 ;; +- gcac) ac_gc_always_collect=1 ;; +- gimple) ac_gimple_checking=1 ;; +- misc) ac_checking=1 ;; +- rtl) ac_rtl_checking=1 ;; +- rtlflag) ac_rtlflag_checking=1 ;; +- runtime) ac_runtime_checking=1 ;; +- tree) ac_tree_checking=1 ;; +- types) ac_types_checking=1 ;; +- valgrind) ac_valgrind_checking=1 ;; +- *) AC_MSG_ERROR(unknown check category $check) ;; +- esac +-done +-IFS="$ac_save_IFS" +- +-nocommon_flag="" +-if test x$ac_checking != x ; then +- AC_DEFINE(ENABLE_CHECKING, 1, +-[Define if you want more run-time sanity checks. This one gets a grab +- bag of miscellaneous but relatively cheap checks.]) +- nocommon_flag=-fno-common +-fi +-AC_SUBST(nocommon_flag) +-if test x$ac_df_checking != x ; then +- AC_DEFINE(ENABLE_DF_CHECKING, 1, +-[Define if you want more run-time sanity checks for dataflow.]) +-fi +-if test x$ac_assert_checking != x ; then +- AC_DEFINE(ENABLE_ASSERT_CHECKING, 1, +-[Define if you want assertions enabled. This is a cheap check.]) +-fi +-if test x$ac_gimple_checking != x ; then +- AC_DEFINE(ENABLE_GIMPLE_CHECKING, 1, +-[Define if you want operations on GIMPLE (the basic data structure of +-the high-level optimizers) to be checked for dynamic type safety at +-runtime. This is moderately expensive.]) +-fi +-GCC_TARGET_TEMPLATE(ENABLE_RUNTIME_CHECKING) +-if test x$ac_runtime_checking != x ; then +- AC_DEFINE(ENABLE_RUNTIME_CHECKING, 1, +-[Define if you want runtime assertions enabled. This is a cheap check.]) +-fi +-if test x$ac_tree_checking != x ; then +- AC_DEFINE(ENABLE_TREE_CHECKING, 1, +-[Define if you want all operations on trees (the basic data +- structure of the front ends) to be checked for dynamic type safety +- at runtime. This is moderately expensive. The tree browser debugging +- routines will also be enabled by this option. +- ]) +- TREEBROWSER=tree-browser.o +-fi +-if test x$ac_types_checking != x ; then +- AC_DEFINE(ENABLE_TYPES_CHECKING, 1, +-[Define if you want all gimple types to be verified after gimplifiation. +- This is cheap. +- ]) +-fi +-AC_SUBST(TREEBROWSER) +-if test x$ac_rtl_checking != x ; then +- AC_DEFINE(ENABLE_RTL_CHECKING, 1, +-[Define if you want all operations on RTL (the basic data structure +- of the optimizer and back end) to be checked for dynamic type safety +- at runtime. This is quite expensive.]) +-fi +-if test x$ac_rtlflag_checking != x ; then +- AC_DEFINE(ENABLE_RTL_FLAG_CHECKING, 1, +-[Define if you want RTL flag accesses to be checked against the RTL +- codes that are supported for each access macro. This is relatively +- cheap.]) +-fi +-if test x$ac_gc_checking != x ; then +- AC_DEFINE(ENABLE_GC_CHECKING, 1, +-[Define if you want the garbage collector to do object poisoning and +- other memory allocation checks. This is quite expensive.]) +-fi +-if test x$ac_gc_always_collect != x ; then +- AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1, +-[Define if you want the garbage collector to operate in maximally +- paranoid mode, validating the entire heap and collecting garbage at +- every opportunity. This is extremely expensive.]) +-fi +-if test x$ac_fold_checking != x ; then +- AC_DEFINE(ENABLE_FOLD_CHECKING, 1, +-[Define if you want fold checked that it never destructs its argument. +- This is quite expensive.]) +-fi +-valgrind_path_defines= +-valgrind_command= +- +-dnl # This check AC_REQUIREs various stuff, so it *must not* be inside +-dnl # an if statement. This was the source of very frustrating bugs +-dnl # in converting to autoconf 2.5x! +-AC_CHECK_HEADER(valgrind.h, have_valgrind_h=yes, have_valgrind_h=no) +- +-if test x$ac_valgrind_checking != x ; then +- # It is certainly possible that there's valgrind but no valgrind.h. +- # GCC relies on making annotations so we must have both. +- AC_MSG_CHECKING(for VALGRIND_DISCARD in ) +- AC_PREPROC_IFELSE([AC_LANG_SOURCE( +- [[#include +-#ifndef VALGRIND_DISCARD +-#error VALGRIND_DISCARD not defined +-#endif]])], +- [gcc_cv_header_valgrind_memcheck_h=yes], +- [gcc_cv_header_valgrind_memcheck_h=no]) +- AC_MSG_RESULT($gcc_cv_header_valgrind_memcheck_h) +- AC_MSG_CHECKING(for VALGRIND_DISCARD in ) +- AC_PREPROC_IFELSE([AC_LANG_SOURCE( +- [[#include +-#ifndef VALGRIND_DISCARD +-#error VALGRIND_DISCARD not defined +-#endif]])], +- [gcc_cv_header_memcheck_h=yes], +- [gcc_cv_header_memcheck_h=no]) +- AC_MSG_RESULT($gcc_cv_header_memcheck_h) +- AM_PATH_PROG_WITH_TEST(valgrind_path, valgrind, +- [$ac_dir/$ac_word --version | grep valgrind- >/dev/null 2>&1]) +- if test "x$valgrind_path" = "x" \ +- || (test $have_valgrind_h = no \ +- && test $gcc_cv_header_memcheck_h = no \ +- && test $gcc_cv_header_valgrind_memcheck_h = no); then +- AC_MSG_ERROR([*** Can't find both valgrind and valgrind/memcheck.h, memcheck.h or valgrind.h]) +- fi +- valgrind_path_defines=-DVALGRIND_PATH='\"'$valgrind_path'\"' +- valgrind_command="$valgrind_path -q" +- AC_DEFINE(ENABLE_VALGRIND_CHECKING, 1, +-[Define if you want to run subprograms and generated programs +- through valgrind (a memory checker). This is extremely expensive.]) +- if test $gcc_cv_header_valgrind_memcheck_h = yes; then +- AC_DEFINE(HAVE_VALGRIND_MEMCHECK_H, 1, +- [Define if valgrind's valgrind/memcheck.h header is installed.]) +- fi +- if test $gcc_cv_header_memcheck_h = yes; then +- AC_DEFINE(HAVE_MEMCHECK_H, 1, +- [Define if valgrind's memcheck.h header is installed.]) +- fi +-fi +-AC_SUBST(valgrind_path_defines) +-AC_SUBST(valgrind_command) +- +-# Enable code coverage collection +-AC_ARG_ENABLE(coverage, +-[ --enable-coverage[=LEVEL] +- enable compiler's code coverage collection. +- Use to measure compiler performance and locate +- unused parts of the compiler. With LEVEL, specify +- optimization. Values are opt, noopt, +- default is noopt], +-[case "${enableval}" in +- yes|noopt) +- coverage_flags="-fprofile-arcs -ftest-coverage -frandom-seed=\$@ -O0" +- ;; +- opt) +- coverage_flags="-fprofile-arcs -ftest-coverage -frandom-seed=\$@ -O2" +- ;; +- no) +- # a.k.a. --disable-coverage +- coverage_flags="" +- ;; +- *) +- AC_MSG_ERROR(unknown coverage setting $enableval) +- ;; +-esac], +-[coverage_flags=""]) +-AC_SUBST(coverage_flags) +- +-AC_ARG_ENABLE(gather-detailed-mem-stats, +-[ --enable-gather-detailed-mem-stats enable detailed memory allocation stats gathering], [], +-[enable_gather_detailed_mem_stats=no]) +-if test x$enable_gather_detailed_mem_stats = xyes ; then +- AC_DEFINE(GATHER_STATISTICS, 1, +- [Define to enable detailed memory allocation stats gathering.]) +-fi +- +-# ------------------------------- +-# Miscenalleous configure options +-# ------------------------------- +- +-# See if we are building gcc with C++. +-AC_ARG_ENABLE(build-with-cxx, +-[ --enable-build-with-cxx build with C++ compiler instead of C compiler], +-ENABLE_BUILD_WITH_CXX=$enableval, +-ENABLE_BUILD_WITH_CXX=no) +-AC_SUBST(ENABLE_BUILD_WITH_CXX) +- +-# With stabs +-AC_ARG_WITH(stabs, +-[ --with-stabs arrange to use stabs instead of host debug format], +-stabs="$with_stabs", +-stabs=no) +- +-# Determine whether or not multilibs are enabled. +-AC_ARG_ENABLE(multilib, +-[ --enable-multilib enable library support for multiple ABIs], +-[], [enable_multilib=yes]) +-AC_SUBST(enable_multilib) +- +-# Enable __cxa_atexit for C++. +-AC_ARG_ENABLE(__cxa_atexit, +-[ --enable-__cxa_atexit enable __cxa_atexit for C++], +-[], []) +- +-# Enable C extension for decimal float if target supports it. +-AC_ARG_ENABLE(decimal-float, +-[ --enable-decimal-float={no,yes,bid,dpd} +- enable decimal float extension to C. Selecting 'bid' +- or 'dpd' choses which decimal floating point format +- to use], +-[ +- case $enable_decimal_float in +- yes | no | bid | dpd) ;; +- *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float. +-Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;; +- esac +-], +-[ +- case $target in +- powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux*) +- enable_decimal_float=yes +- ;; +- *) +- AC_MSG_WARN(decimal float is not supported for this target, ignored) +- enable_decimal_float=no +- ;; +- esac +-]) +- +-dfp=`if test $enable_decimal_float != no; then echo 1; else echo 0; fi` +-AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_FLOAT, $dfp, +-[Define to 1 to enable decimal float extension to C.]) +- +-# x86's use BID format instead of DPD +-case x$enable_decimal_float in +- xyes) +- case $target in +- i?86*-*-linux* | x86_64*-*-linux*) +- enable_decimal_float=bid +- ;; +- *) +- enable_decimal_float=dpd +- ;; +- esac +- ;; +- xno) +- # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper +- # dependency on libdecnumber. +- enable_decimal_float=dpd +- ;; +-esac +-AC_SUBST(enable_decimal_float) +- +-bid=`if test $enable_decimal_float = bid; then echo 1; else echo 0; fi` +-AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_BID_FORMAT, $bid, +-[Define to 1 to specify that we are using the BID decimal floating +-point format instead of DPD]) +- +-# Enable C extension for fixed-point arithmetic. +-AC_ARG_ENABLE(fixed-point, +-[ --enable-fixed-point enable fixed-point arithmetic extension to C], +-[ +-], +-[ +- case $target in +- mips*-*-*) +- case $host in +- mips*-sgi-irix*) +- AC_MSG_WARN(fixed-point is not supported on IRIX, ignored) +- enable_fixed_point=no +- ;; +- *) +- enable_fixed_point=yes +- ;; +- esac +- ;; +- *) +- AC_MSG_WARN(fixed-point is not supported for this target, ignored) +- enable_fixed_point=no +- ;; +- esac +-]) +-AC_SUBST(enable_fixed_point) +- +-fixedpoint=`if test $enable_fixed_point = yes; then echo 1; else echo 0; fi` +-AC_DEFINE_UNQUOTED(ENABLE_FIXED_POINT, $fixedpoint, +-[Define to 1 to enable fixed-point arithmetic extension to C.]) +- +-# Enable threads +-# Pass with no value to take the default +-# Pass with a value to specify a thread package +-AC_ARG_ENABLE(threads, +-[ --enable-threads enable thread usage for target GCC +- --enable-threads=LIB use LIB thread package for target GCC],, +-[enable_threads='']) +- +-AC_ARG_ENABLE(tls, +-[ --enable-tls enable or disable generation of tls code +- overriding the assembler check for tls support], +-[ +- case $enable_tls in +- yes | no) ;; +- *) AC_MSG_ERROR(['$enable_tls' is an invalid value for --enable-tls. +-Valid choices are 'yes' and 'no'.]) ;; +- esac +-], [enable_tls='']) +- +-AC_ARG_ENABLE(objc-gc, +-[ --enable-objc-gc enable the use of Boehm's garbage collector with +- the GNU Objective-C runtime], +-if test x$enable_objc_gc = xno; then +- objc_boehm_gc='' +-else +- objc_boehm_gc=1 +-fi, +-objc_boehm_gc='') +- +-AC_ARG_WITH(dwarf2, +-[ --with-dwarf2 force the default debug format to be DWARF 2], +-dwarf2="$with_dwarf2", +-dwarf2=no) +- +-AC_ARG_ENABLE(shared, +-[ --disable-shared don't provide a shared libgcc], +-[ +- case $enable_shared in +- yes | no) ;; +- *) +- enable_shared=no +- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," +- for pkg in $enableval; do +- if test "X$pkg" = "Xgcc" || test "X$pkg" = "Xlibgcc"; then +- enable_shared=yes +- fi +- done +- IFS="$ac_save_ifs" +- ;; +- esac +-], [enable_shared=yes]) +-AC_SUBST(enable_shared) +- +-AC_ARG_WITH(build-sysroot, +- [ --with-build-sysroot=sysroot +- use sysroot as the system root during the build]) +- +-AC_ARG_WITH(sysroot, +-[ --with-sysroot[=DIR] Search for usr/lib, usr/include, et al, within DIR.], +-[ +- case ${with_sysroot} in +- yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_noncanonical}/sys-root' ;; +- *) TARGET_SYSTEM_ROOT=$with_sysroot ;; +- esac +- +- TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"' +- CROSS_SYSTEM_HEADER_DIR='$(TARGET_SYSTEM_ROOT)$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)' +- +- if test "x$prefix" = xNONE; then +- test_prefix=/usr/local +- else +- test_prefix=$prefix +- fi +- if test "x$exec_prefix" = xNONE; then +- test_exec_prefix=$test_prefix +- else +- test_exec_prefix=$exec_prefix +- fi +- case ${TARGET_SYSTEM_ROOT} in +- "${test_prefix}"|"${test_prefix}/"*|\ +- "${test_exec_prefix}"|"${test_exec_prefix}/"*|\ +- '${prefix}'|'${prefix}/'*|\ +- '${exec_prefix}'|'${exec_prefix}/'*) +- t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE" +- TARGET_SYSTEM_ROOT_DEFINE="$t" +- ;; +- esac +-], [ +- TARGET_SYSTEM_ROOT= +- TARGET_SYSTEM_ROOT_DEFINE= +- CROSS_SYSTEM_HEADER_DIR='$(gcc_tooldir)/sys-include' +-]) +-AC_SUBST(TARGET_SYSTEM_ROOT) +-AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) +-AC_SUBST(CROSS_SYSTEM_HEADER_DIR) +- +-AC_ARG_WITH(specs, +- [AS_HELP_STRING([--with-specs=SPECS], +- [add SPECS to driver command-line processing])], +- [CONFIGURE_SPECS=$withval], +- [CONFIGURE_SPECS=] +-) +-AC_SUBST(CONFIGURE_SPECS) +- +-# Build with intermodule optimisations +-AC_ARG_ENABLE(intermodule, +-[ --enable-intermodule build the compiler in one step], +-[case ${enable_intermodule} in +- yes) onestep="-onestep";; +- *) onestep="";; +-esac], +-[onestep=""]) +-AC_SUBST(onestep) +- +-ACX_PKGVERSION([GCC]) +-ACX_BUGURL([http://gcc.gnu.org/bugs.html]) +- +-# Sanity check enable_languages in case someone does not run the toplevel +-# configure # script. +-AC_ARG_ENABLE(languages, +-[ --enable-languages=LIST specify which front-ends to build], +-[case ,${enable_languages}, in +- ,,|,yes,) +- # go safe -- we cannot be much sure without the toplevel +- # configure's +- # analysis of which target libs are present and usable +- enable_languages=c +- ;; +- *,all,*) +- AC_MSG_ERROR([only the toplevel supports --enable-languages=all]) +- ;; +- *,c,*) +- ;; +- *) +- enable_languages=c,${enable_languages} +- ;; +-esac], +-[enable_languages=c]) +- +-AC_ARG_WITH(multilib-list, +-[ --with-multilib-list Select multilibs (SH only)], +-:, +-with_multilib_list=default) +- +-# ------------------------- +-# Checks for other programs +-# ------------------------- +- +-AC_PROG_MAKE_SET +- +-# Find some useful tools +-AC_PROG_AWK +-# We need awk to create options.c and options.h. +-# Bail out if it's missing. +-case ${AWK} in +- "") AC_MSG_ERROR([can't build without awk, bailing out]) ;; +-esac +- +-gcc_AC_PROG_LN_S +-ACX_PROG_LN($LN_S) +-AC_PROG_RANLIB +-case "${host}" in +-*-*-darwin*) +- # By default, the Darwin ranlib will not treat common symbols as +- # definitions when building the archive table of contents. Other +- # ranlibs do that; pass an option to the Darwin ranlib that makes +- # it behave similarly. +- ranlib_flags="-c" +- ;; +-*) +- ranlib_flags="" +-esac +-AC_SUBST(ranlib_flags) +- +-gcc_AC_PROG_INSTALL +- +-# See if cmp has --ignore-initial. +-gcc_AC_PROG_CMP_IGNORE_INITIAL +- +-# See if we have the mktemp command. +-AC_CHECK_PROG(have_mktemp_command, mktemp, yes, no) +- +-# See if makeinfo has been installed and is modern enough +-# that we can use it. +-ACX_CHECK_PROG_VER(MAKEINFO, makeinfo, --version, +- [GNU texinfo.* \([0-9][0-9.]*\)], +- [4.[7-9]*|4.[1-9][0-9]*|[5-9]*|[1-9][0-9]*]) +-if test $gcc_cv_prog_makeinfo_modern = no; then +- AC_MSG_WARN([ +-*** Makeinfo is missing or too old. +-*** Info documentation will not be built.]) +- BUILD_INFO= +-else +- BUILD_INFO=info +-fi +-AC_SUBST(BUILD_INFO) +- +-# Is pod2man recent enough to regenerate manpages? +-AC_MSG_CHECKING([for recent Pod::Man]) +-if (perl -e 'use 1.10 Pod::Man') >/dev/null 2>&1; then +- AC_MSG_RESULT(yes) +- GENERATED_MANPAGES=generated-manpages +-else +- AC_MSG_RESULT(no) +- GENERATED_MANPAGES= +-fi +-AC_SUBST(GENERATED_MANPAGES) +- +-MISSING="${CONFIG_SHELL-/bin/sh} $ac_aux_dir/missing" +- +-# How about lex? +-dnl Don't use AC_PROG_LEX; we insist on flex. +-dnl LEXLIB is not useful in gcc. +-AC_CHECK_PROGS([FLEX], flex, [$MISSING flex]) +- +-# Bison? +-AC_CHECK_PROGS([BISON], bison, [$MISSING bison]) +- +-# Binutils are not build modules, unlike bison/flex/makeinfo. So we +-# check for build == host before using them. +- +-# NM +-if test x${build} = x${host} && test -f $srcdir/../binutils/nm.c \ +- && test -d ../binutils ; then +- NM='${objdir}/../binutils/nm-new' +-else +- AC_CHECK_PROG(NM, nm, nm, ${CONFIG_SHELL-/bin/sh} ${srcdir}/../missing nm) +-fi +- +-# AR +-if test x${build} = x${host} && test -f $srcdir/../binutils/ar.c \ +- && test -d ../binutils ; then +- AR='${objdir}/../binutils/ar' +-else +- AC_CHECK_PROG(AR, ar, ar, ${CONFIG_SHELL-/bin/sh} ${srcdir}/../missing ar) +-fi +- +- +-# -------------------- +-# Checks for C headers +-# -------------------- +- +-# Need to reject headers which give warnings, so that the -Werror bootstrap +-# works later. *sigh* This needs to come before all header checks. +-AC_PROG_CPP_WERROR +- +-AC_HEADER_STDC +-AC_HEADER_TIME +-ACX_HEADER_STRING +-AC_HEADER_SYS_WAIT +-AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \ +- fcntl.h unistd.h sys/file.h sys/time.h sys/mman.h \ +- sys/resource.h sys/param.h sys/times.h sys/stat.h \ +- direct.h malloc.h langinfo.h ldfcn.h locale.h wchar.h) +- +-# Check for thread headers. +-AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=]) +-AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=]) +- +-# These tests can't be done till we know if we have limits.h. +-gcc_AC_C_CHAR_BIT +-AC_C_BIGENDIAN +- +-# -------- +-# UNSORTED +-# -------- +- +- +-# These libraries may be used by collect2. +-# We may need a special search path to get them linked. +-AC_CACHE_CHECK(for collect2 libraries, gcc_cv_collect2_libs, +-[save_LIBS="$LIBS" +-for libs in '' -lld -lmld \ +- '-L/usr/lib/cmplrs/cc2.11 -lmld' \ +- '-L/usr/lib/cmplrs/cc3.11 -lmld' +-do +- LIBS="$libs" +- AC_TRY_LINK_FUNC(ldopen, +- [gcc_cv_collect2_libs="$libs"; break]) +-done +-LIBS="$save_LIBS" +-test -z "$gcc_cv_collect2_libs" && gcc_cv_collect2_libs='none required']) +-case $gcc_cv_collect2_libs in +- "none required") ;; +- *) COLLECT2_LIBS=$gcc_cv_collect2_libs ;; +-esac +-AC_SUBST(COLLECT2_LIBS) +- +-# When building Ada code on Alpha, we need exc_resume which is usually in +-# -lexc. So test for it. +-save_LIBS="$LIBS" +-LIBS= +-AC_SEARCH_LIBS(exc_resume, exc) +-GNAT_LIBEXC="$LIBS" +-LIBS="$save_LIBS" +-AC_SUBST(GNAT_LIBEXC) +- +-# Some systems put ldexp and frexp in libm instead of libc; assume +-# they're both in the same place. jcf-dump needs them. +-save_LIBS="$LIBS" +-LIBS= +-AC_SEARCH_LIBS(ldexp, m) +-LDEXP_LIB="$LIBS" +-LIBS="$save_LIBS" +-AC_SUBST(LDEXP_LIB) +- +-# Use only if it exists, +-# doesn't clash with , and declares intmax_t. +-AC_MSG_CHECKING(for inttypes.h) +-AC_CACHE_VAL(gcc_cv_header_inttypes_h, +-[AC_COMPILE_IFELSE([AC_LANG_PROGRAM( +-[[#include +-#include ]], +- [[intmax_t i = -1;]])], +- [gcc_cv_header_inttypes_h=yes], +- [gcc_cv_header_inttypes_h=no])]) +-AC_MSG_RESULT($gcc_cv_header_inttypes_h) +-if test $gcc_cv_header_inttypes_h = yes; then +- AC_DEFINE(HAVE_INTTYPES_H, 1, +- [Define if you have a working header file.]) +-fi +- +-dnl Disabled until we have a complete test for buggy enum bitfields. +-dnl gcc_AC_C_ENUM_BF_UNSIGNED +- +-define(gcc_UNLOCKED_FUNCS, clearerr_unlocked feof_unlocked dnl +- ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked dnl +- fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked dnl +- fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked dnl +- putchar_unlocked putc_unlocked) +-AC_CHECK_FUNCS(times clock kill getrlimit setrlimit atoll atoq \ +- sysconf strsignal getrusage nl_langinfo \ +- gettimeofday mbstowcs wcswidth mmap mincore setlocale \ +- gcc_UNLOCKED_FUNCS) +- +-save_CPPFLAGS="$CPPFLAGS" +-save_LIBS="$LIBS" +-LIBS="$LIBS $LIBELFLIBS" +-AC_CHECK_FUNCS(elf_getshdrstrndx,, +- [AC_CHECK_FUNCS(elf_getshstrndx, +- [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include +-#include +-int main() +-{ +- return elf_getshstrndx (NULL, 0) == 0; +-}]])], AC_DEFINE(HAVE_ELF_GETSHSTRNDX_GABI, 1, +- [Define if elf_getshstrndx has gABI conformant return values.]))])] +- ) +-LIBS="$save_LIBS" +-CPPFLAGS="$save_CPPFLAGS" +- +-if test x$ac_cv_func_mbstowcs = xyes; then +- AC_CACHE_CHECK(whether mbstowcs works, gcc_cv_func_mbstowcs_works, +-[ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include +-int main() +-{ +- mbstowcs(0, "", 0); +- return 0; +-}]])], +- [gcc_cv_func_mbstowcs_works=yes], +- [gcc_cv_func_mbstowcs_works=no], +- [gcc_cv_func_mbstowcs_works=yes])]) +- if test x$gcc_cv_func_mbstowcs_works = xyes; then +- AC_DEFINE(HAVE_WORKING_MBSTOWCS, 1, +- [Define this macro if mbstowcs does not crash when its +- first argument is NULL.]) +- fi +-fi +- +-AC_CHECK_TYPE(ssize_t, int) +-AC_CHECK_TYPE(caddr_t, char *) +- +-gcc_AC_FUNC_MMAP_BLACKLIST +- +-case "${host}" in +-*-*-*vms*) +- # Under VMS, vfork works very differently than on Unix. The standard test +- # won't work, and it isn't easily adaptable. It makes more sense to +- # just force it. +- ac_cv_func_vfork_works=yes +- ;; +-esac +-AC_FUNC_FORK +- +-AM_ICONV +-# Until we have in-tree GNU iconv: +-LIBICONV_DEP= +-AC_SUBST(LIBICONV_DEP) +- +-AM_LC_MESSAGES +- +-AM_LANGINFO_CODESET +- +-# We will need to find libiberty.h and ansidecl.h +-saved_CFLAGS="$CFLAGS" +-CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include" +-gcc_AC_CHECK_DECLS(getenv atol asprintf sbrk abort atof getcwd getwd \ +- strsignal strstr strverscmp \ +- errno snprintf vsnprintf vasprintf malloc realloc calloc \ +- free basename getopt clock getpagesize gcc_UNLOCKED_FUNCS, , ,[ +-#include "ansidecl.h" +-#include "system.h"]) +- +-gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[ +-#include "ansidecl.h" +-#include "system.h" +-#ifdef HAVE_SYS_RESOURCE_H +-#include +-#endif +-]) +- +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +-#include "ansidecl.h" +-#include "system.h" +-#ifdef HAVE_SYS_RESOURCE_H +-#include +-#endif +-]], [[rlim_t l = 0;]])],[],[AC_DEFINE([rlim_t],[long], +-[Define to `long' if doesn't define.])]) +- +-# On AIX 5.2, conflicts with , as both define incompatible +-# FREAD and FWRITE macros. Fortunately, for GCC's single usage of ldgetname +-# in collect2.c, isn't visible, but the configure test below needs +-# to undef these macros to get the correct value for HAVE_DECL_LDGETNAME. +-gcc_AC_CHECK_DECLS(ldgetname, , ,[ +-#include "ansidecl.h" +-#include "system.h" +-#ifdef HAVE_LDFCN_H +-#undef FREAD +-#undef FWRITE +-#include +-#endif +-]) +- +-gcc_AC_CHECK_DECLS(times, , ,[ +-#include "ansidecl.h" +-#include "system.h" +-#ifdef HAVE_SYS_TIMES_H +-#include +-#endif +-]) +- +-gcc_AC_CHECK_DECLS(sigaltstack, , ,[ +-#include "ansidecl.h" +-#include "system.h" +-#include +-]) +- +-# More time-related stuff. +-AC_CACHE_CHECK(for struct tms, ac_cv_struct_tms, [ +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +-#include "ansidecl.h" +-#include "system.h" +-#ifdef HAVE_SYS_TIMES_H +-#include +-#endif +-]], [[struct tms tms;]])],[ac_cv_struct_tms=yes],[ac_cv_struct_tms=no])]) +-if test $ac_cv_struct_tms = yes; then +- AC_DEFINE(HAVE_STRUCT_TMS, 1, +- [Define if defines struct tms.]) +-fi +- +-# use gcc_cv_* here because this doesn't match the behavior of AC_CHECK_TYPE. +-# revisit after autoconf 2.50. +-AC_CACHE_CHECK(for clock_t, gcc_cv_type_clock_t, [ +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +-#include "ansidecl.h" +-#include "system.h" +-]], [[clock_t x;]])],[gcc_cv_type_clock_t=yes],[gcc_cv_type_clock_t=no])]) +-if test $gcc_cv_type_clock_t = yes; then +- AC_DEFINE(HAVE_CLOCK_T, 1, +- [Define if defines clock_t.]) +-fi +- +-# Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests. +-CFLAGS="$saved_CFLAGS" +- +-gcc_AC_INITFINI_ARRAY +- +-# mkdir takes a single argument on some systems. +-gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG +- +-# File extensions +-manext='.1' +-objext='.o' +-AC_SUBST(manext) +-AC_SUBST(objext) +- +-# With Setjmp/Longjmp based exception handling. +-AC_ARG_ENABLE(sjlj-exceptions, +-[ --enable-sjlj-exceptions +- arrange to use setjmp/longjmp exception handling], +-[case $target in +- *-*-hpux10*) +- if test $enableval != yes; then +- AC_MSG_WARN([dwarf2 exceptions not supported, sjlj exceptions forced]) +- enableval=yes +- fi +- ;; +-esac +-force_sjlj_exceptions=yes], +-[case $target in +- *-*-hpux10*) +- force_sjlj_exceptions=yes +- enableval=yes +- ;; +- *) +- force_sjlj_exceptions=no +- ;; +-esac]) +-if test $force_sjlj_exceptions = yes; then +- sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` +- AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj, +- [Define 0/1 to force the choice for exception handling model.]) +-fi +- +-# For platforms with the unwind ABI which includes an unwind library, +-# libunwind, we can choose to use the system libunwind. +-# config.gcc also contains tests of with_system_libunwind. +-GCC_CHECK_UNWIND_GETIPINFO +- +-# -------------------------------------------------------- +-# Build, host, and target specific configuration fragments +-# -------------------------------------------------------- +- +-# Collect build-machine-specific information. +-. ${srcdir}/config.build +- +-# Collect host-machine-specific information. +-. ${srcdir}/config.host +- +-target_gtfiles= +- +-# Collect target-machine-specific information. +-. ${srcdir}/config.gcc +- +-extra_objs="${host_extra_objs} ${extra_objs}" +-extra_gcc_objs="${host_extra_gcc_objs} ${extra_gcc_objs}" +- +-# Default the target-machine variables that were not explicitly set. +-if test x"$tm_file" = x +-then tm_file=$cpu_type/$cpu_type.h; fi +- +-if test x"$extra_headers" = x +-then extra_headers=; fi +- +-if test x$md_file = x +-then md_file=$cpu_type/$cpu_type.md; fi +- +-if test x$out_file = x +-then out_file=$cpu_type/$cpu_type.c; fi +- +-if test x"$tmake_file" = x +-then tmake_file=$cpu_type/t-$cpu_type +-fi +- +-if test x"$dwarf2" = xyes +-then tm_file="$tm_file tm-dwarf2.h" +-fi +- +-# Say what files are being used for the output code and MD file. +-echo "Using \`$srcdir/config/$out_file' for machine-specific logic." +-echo "Using \`$srcdir/config/$md_file' as machine description file." +- +-# If any of the xm_file variables contain nonexistent files, warn +-# about them and drop them. +- +-bx= +-for x in $build_xm_file; do +- if test -f $srcdir/config/$x +- then bx="$bx $x" +- else AC_MSG_WARN($srcdir/config/$x does not exist.) +- fi +-done +-build_xm_file="$bx" +- +-hx= +-for x in $host_xm_file; do +- if test -f $srcdir/config/$x +- then hx="$hx $x" +- else AC_MSG_WARN($srcdir/config/$x does not exist.) +- fi +-done +-host_xm_file="$hx" +- +-tx= +-for x in $xm_file; do +- if test -f $srcdir/config/$x +- then tx="$tx $x" +- else AC_MSG_WARN($srcdir/config/$x does not exist.) +- fi +-done +-xm_file="$tx" +- +-count=a +-for f in $tm_file; do +- count=${count}x +-done +-if test $count = ax; then +- echo "Using \`$srcdir/config/$tm_file' as target machine macro file." +-else +- echo "Using the following target machine macro files:" +- for f in $tm_file; do +- echo " $srcdir/config/$f" +- done +-fi +- +-if test x$need_64bit_hwint = xyes; then +- AC_DEFINE(NEED_64BIT_HOST_WIDE_INT, 1, +-[Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h).]) +-fi +- +-if test x$use_long_long_for_widest_fast_int = xyes; then +- AC_DEFINE(USE_LONG_LONG_FOR_WIDEST_FAST_INT, 1, +-[Define to 1 if the 'long long' (or '__int64') is wider than 'long' but still +-efficiently supported by the host hardware.]) +-fi +- +-count=a +-for f in $host_xm_file; do +- count=${count}x +-done +-if test $count = a; then +- : +-elif test $count = ax; then +- echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file." +-else +- echo "Using the following host machine macro files:" +- for f in $host_xm_file; do +- echo " $srcdir/config/$f" +- done +-fi +-echo "Using ${out_host_hook_obj} for host machine hooks." +- +-if test "$host_xm_file" != "$build_xm_file"; then +- count=a +- for f in $build_xm_file; do +- count=${count}x +- done +- if test $count = a; then +- : +- elif test $count = ax; then +- echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file." +- else +- echo "Using the following build machine macro files:" +- for f in $build_xm_file; do +- echo " $srcdir/config/$f" +- done +- fi +-fi +- +-case ${host} in +- powerpc*-*-darwin*) +- AC_CACHE_CHECK([whether mcontext_t fields have underscores], +- gcc_cv_mcontext_underscores, +- AC_COMPILE_IFELSE([ +-#include +-#include +-#include +-int main() { mcontext_t m; if (m->ss.srr0) return 0; return 0; } +-], +- gcc_cv_mcontext_underscores=no, gcc_cv_mcontext_underscores=yes)) +- if test $gcc_cv_mcontext_underscores = yes; then +- AC_DEFINE(HAS_MCONTEXT_T_UNDERSCORES,,dnl +- [mcontext_t fields start with __]) +- fi +- ;; +-esac +- +-# --------- +-# Threading +-# --------- +- +-# Check if a valid thread package +-case ${enable_threads} in +- "" | no) +- # No threads +- target_thread_file='single' +- ;; +- yes) +- # default +- target_thread_file='single' +- ;; +- aix | dce | gnat | irix | posix | posix95 | rtems | \ +- single | solaris | vxworks | win32 | mipssde) +- target_thread_file=${enable_threads} +- ;; +- *) +- echo "${enable_threads} is an unknown thread package" 1>&2 +- exit 1 +- ;; +-esac +- +-if test x${thread_file} = x; then +- # No thread file set by target-specific clauses in config.gcc, +- # so use file chosen by default logic above +- thread_file=${target_thread_file} +-fi +- +-# Make gthr-default.h if we have a thread file. +-gthread_flags= +-if test $thread_file != single; then +- echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h-t +- if diff gthr-default.h-t gthr-default.h 2>/dev/null; then +- rm -f gthr-default.h-t +- else +- mv -f gthr-default.h-t gthr-default.h +- fi +- gthread_flags=-DHAVE_GTHR_DEFAULT +-fi +-AC_SUBST(gthread_flags) +- +-# -------- +-# UNSORTED +-# -------- +- +-use_cxa_atexit=no +-if test x$enable___cxa_atexit = xyes || \ +- test x$enable___cxa_atexit = x -a x$default_use_cxa_atexit = xyes; then +- if test x$host = x$target; then +- case $host in +- # mingw32 doesn't have __cxa_atexit but uses atexit registration +- # keyed to flag_use_cxa_atexit +- *-*-mingw32*) +- use_cxa_atexit=yes +- ;; +- *) +- AC_CHECK_FUNC(__cxa_atexit,[use_cxa_atexit=yes], +- [echo "__cxa_atexit can't be enabled on this target"]) +- ;; +- esac +- else +- # We can't check for __cxa_atexit when building a cross, so assume +- # it is available +- use_cxa_atexit=yes +- fi +- if test x$use_cxa_atexit = xyes; then +- AC_DEFINE(DEFAULT_USE_CXA_ATEXIT, 2, +- [Define if you want to use __cxa_atexit, rather than atexit, to +- register C++ destructors for local statics and global objects. +- This is essential for fully standards-compliant handling of +- destructors, but requires __cxa_atexit in libc.]) +- fi +-fi +- +-# Look for a file containing extra machine modes. +-if test -n "$extra_modes" && test -f $srcdir/config/$extra_modes; then +- extra_modes_file='$(srcdir)'/config/${extra_modes} +- AC_SUBST(extra_modes_file) +- AC_DEFINE_UNQUOTED(EXTRA_MODES_FILE, "config/$extra_modes", +- [Define to the name of a file containing a list of extra machine modes +- for this architecture.]) +-fi +- +-# Convert extra_options into a form suitable for Makefile use. +-extra_opt_files= +-for f in $extra_options; do +- extra_opt_files="$extra_opt_files \$(srcdir)/config/$f" +-done +-AC_SUBST(extra_opt_files) +- +-# auto-host.h is the file containing items generated by autoconf and is +-# the first file included by config.h. +-# If host=build, it is correct to have bconfig include auto-host.h +-# as well. If host!=build, we are in error and need to do more +-# work to find out the build config parameters. +-if test x$host = x$build +-then +- build_auto=auto-host.h +-else +- # We create a subdir, then run autoconf in the subdir. +- # To prevent recursion we set host and build for the new +- # invocation of configure to the build for this invocation +- # of configure. +- tempdir=build.$$ +- rm -rf $tempdir +- mkdir $tempdir +- cd $tempdir +- case ${srcdir} in +- /* | [A-Za-z]:[\\/]* ) realsrcdir=${srcdir};; +- *) realsrcdir=../${srcdir};; +- esac +- saved_CFLAGS="${CFLAGS}" +- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ +- LDFLAGS="${LDFLAGS_FOR_BUILD}" \ +- ${realsrcdir}/configure \ +- --enable-languages=${enable_languages-all} \ +- --target=$target_alias --host=$build_alias --build=$build_alias +- CFLAGS="${saved_CFLAGS}" +- +- # We just finished tests for the build machine, so rename +- # the file auto-build.h in the gcc directory. +- mv auto-host.h ../auto-build.h +- cd .. +- rm -rf $tempdir +- build_auto=auto-build.h +-fi +-AC_SUBST(build_subdir) +- +-tm_file="${tm_file} defaults.h" +-tm_p_file="${tm_p_file} tm-preds.h" +-host_xm_file="auto-host.h ansidecl.h ${host_xm_file}" +-build_xm_file="${build_auto} ansidecl.h ${build_xm_file}" +-# We don't want ansidecl.h in target files, write code there in ISO/GNU C. +-# put this back in temporarily. +-xm_file="auto-host.h ansidecl.h ${xm_file}" +- +-# -------- +-# UNSORTED +-# -------- +- +-changequote(,)dnl +-# Compile in configure arguments. +-if test -f configargs.h ; then +- # Being re-configured. +- gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*"\([^"]*\)".*/\1/'` +- gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS" +-else +- gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS" +-fi +- +-# Double all backslashes and backslash all quotes to turn +-# gcc_config_arguments into a C string. +-sed -e 's/\\/\\\\/g; s/"/\\"/g' <conftest.out +-$gcc_config_arguments +-EOF +-gcc_config_arguments_str=`cat conftest.out` +-rm -f conftest.out +- +-cat > configargs.h < plugin-version.h <target assembler and hope that it will have the same features +-# as the host->target assembler we'll be using. +-gcc_cv_gas_major_version= +-gcc_cv_gas_minor_version= +-gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas +- +-m4_pattern_allow([AS_FOR_TARGET])dnl +-AS_VAR_SET_IF(gcc_cv_as,, [ +-if test -x "$DEFAULT_ASSEMBLER"; then +- gcc_cv_as="$DEFAULT_ASSEMBLER" +-elif test -f $gcc_cv_as_gas_srcdir/configure.in \ +- && test -f ../gas/Makefile \ +- && test x$build = x$host; then +- gcc_cv_as=../gas/as-new$build_exeext +-elif test -x as$build_exeext; then +- # Build using assembler in the current directory. +- gcc_cv_as=./as$build_exeext +-elif test -x $AS_FOR_TARGET; then +- gcc_cv_as="$AS_FOR_TARGET" +-else +- AC_PATH_PROG(gcc_cv_as, $AS_FOR_TARGET) +-fi]) +- +-ORIGINAL_AS_FOR_TARGET=$gcc_cv_as +-AC_SUBST(ORIGINAL_AS_FOR_TARGET) +-case "$ORIGINAL_AS_FOR_TARGET" in +- ./as | ./as$build_exeext) ;; +- *) AC_CONFIG_FILES(as:exec-tool.in, [chmod +x as]) ;; +-esac +- +-AC_MSG_CHECKING(what assembler to use) +-if test "$gcc_cv_as" = ../gas/as-new$build_exeext; then +- # Single tree build which includes gas. We want to prefer it +- # over whatever linker top-level may have detected, since +- # we'll use what we're building after installation anyway. +- AC_MSG_RESULT(newly built gas) +- in_tree_gas=yes +- _gcc_COMPUTE_GAS_VERSION +- in_tree_gas_is_elf=no +- if grep 'obj_format = elf' ../gas/Makefile > /dev/null \ +- || (grep 'obj_format = multi' ../gas/Makefile \ +- && grep 'extra_objects =.* obj-elf' ../gas/Makefile) > /dev/null +- then +- in_tree_gas_is_elf=yes +- fi +-else +- AC_MSG_RESULT($gcc_cv_as) +- in_tree_gas=no +-fi +- +-# Identify the linker which will work hand-in-glove with the newly +-# built GCC, so that we can examine its features. This is the linker +-# which will be driven by the driver program. +-# +-# If build != host, and we aren't building gas in-tree, we identify a +-# build->target linker and hope that it will have the same features +-# as the host->target linker we'll be using. +-gcc_cv_gld_major_version= +-gcc_cv_gld_minor_version= +-gcc_cv_ld_gld_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/ld +-gcc_cv_ld_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd +- +-AS_VAR_SET_IF(gcc_cv_ld,, [ +-if test -x "$DEFAULT_LINKER"; then +- gcc_cv_ld="$DEFAULT_LINKER" +-elif test -f $gcc_cv_ld_gld_srcdir/configure.in \ +- && test -f ../ld/Makefile \ +- && test x$build = x$host; then +- gcc_cv_ld=../ld/ld-new$build_exeext +-elif test -x collect-ld$build_exeext; then +- # Build using linker in the current directory. +- gcc_cv_ld=./collect-ld$build_exeext +-elif test -x $LD_FOR_TARGET; then +- gcc_cv_ld="$LD_FOR_TARGET" +-else +- AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET) +-fi]) +- +-ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld +-PLUGIN_LD=`basename $gcc_cv_ld` +-AC_ARG_WITH(plugin-ld, +-[ --with-plugin-ld=[[ARG]] specify the plugin linker], +-[if test x"$withval" != x; then +- ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval" +- PLUGIN_LD="$withval" +- fi]) +-AC_SUBST(ORIGINAL_PLUGIN_LD_FOR_TARGET) +-AC_DEFINE_UNQUOTED(PLUGIN_LD, "$PLUGIN_LD", [Specify plugin linker]) +- +-ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld +-AC_SUBST(ORIGINAL_LD_FOR_TARGET) +-case "$ORIGINAL_LD_FOR_TARGET" in +- ./collect-ld | ./collect-ld$build_exeext) ;; +- *) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;; +-esac +- +-AC_MSG_CHECKING(what linker to use) +-if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext; then +- # Single tree build which includes ld. We want to prefer it +- # over whatever linker top-level may have detected, since +- # we'll use what we're building after installation anyway. +- AC_MSG_RESULT(newly built ld) +- in_tree_ld=yes +- in_tree_ld_is_elf=no +- if (grep 'EMUL = .*elf' ../ld/Makefile \ +- || grep 'EMUL = .*linux' ../ld/Makefile \ +- || grep 'EMUL = .*lynx' ../ld/Makefile) > /dev/null; then +- in_tree_ld_is_elf=yes +- fi +- for f in $gcc_cv_ld_bfd_srcdir/configure $gcc_cv_ld_gld_srcdir/configure $gcc_cv_ld_gld_srcdir/configure.in $gcc_cv_ld_gld_srcdir/Makefile.in +- do +-changequote(,)dnl +- gcc_cv_gld_version=`sed -n -e 's/^[ ]*\(VERSION=[0-9]*\.[0-9]*.*\)/\1/p' < $f` +- if test x$gcc_cv_gld_version != x; then +- break +- fi +- done +- gcc_cv_gld_major_version=`expr "$gcc_cv_gld_version" : "VERSION=\([0-9]*\)"` +- gcc_cv_gld_minor_version=`expr "$gcc_cv_gld_version" : "VERSION=[0-9]*\.\([0-9]*\)"` +-changequote([,])dnl +-else +- AC_MSG_RESULT($gcc_cv_ld) +- in_tree_ld=no +-fi +- +-# Figure out what nm we will be using. +-gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils +-AS_VAR_SET_IF(gcc_cv_nm,, [ +-if test -f $gcc_cv_binutils_srcdir/configure.in \ +- && test -f ../binutils/Makefile \ +- && test x$build = x$host; then +- gcc_cv_nm=../binutils/nm-new$build_exeext +-elif test -x nm$build_exeext; then +- gcc_cv_nm=./nm$build_exeext +-elif test -x $NM_FOR_TARGET; then +- gcc_cv_nm="$NM_FOR_TARGET" +-else +- AC_PATH_PROG(gcc_cv_nm, $NM_FOR_TARGET) +-fi]) +- +-AC_MSG_CHECKING(what nm to use) +-if test "$gcc_cv_nm" = ../binutils/nm-new$build_exeext; then +- # Single tree build which includes binutils. +- AC_MSG_RESULT(newly built nm) +- in_tree_nm=yes +-else +- AC_MSG_RESULT($gcc_cv_nm) +- in_tree_nm=no +-fi +- +-ORIGINAL_NM_FOR_TARGET=$gcc_cv_nm +-AC_SUBST(ORIGINAL_NM_FOR_TARGET) +-case "$ORIGINAL_NM_FOR_TARGET" in +- ./nm | ./nm$build_exeext) ;; +- *) AC_CONFIG_FILES(nm:exec-tool.in, [chmod +x nm]) ;; +-esac +- +- +-# Figure out what objdump we will be using. +-AS_VAR_SET_IF(gcc_cv_objdump,, [ +-if test -f $gcc_cv_binutils_srcdir/configure.in \ +- && test -f ../binutils/Makefile \ +- && test x$build = x$host; then +- # Single tree build which includes binutils. +- gcc_cv_objdump=../binutils/objdump$build_exeext +-elif test -x objdump$build_exeext; then +- gcc_cv_objdump=./objdump$build_exeext +-elif test -x $OBJDUMP_FOR_TARGET; then +- gcc_cv_objdump="$OBJDUMP_FOR_TARGET" +-else +- AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET) +-fi]) +- +-AC_MSG_CHECKING(what objdump to use) +-if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then +- # Single tree build which includes binutils. +- AC_MSG_RESULT(newly built objdump) +-elif test x$gcc_cv_objdump = x; then +- AC_MSG_RESULT(not found) +-else +- AC_MSG_RESULT($gcc_cv_objdump) +-fi +- +-# Figure out what readelf we will be using. +-AS_VAR_SET_IF(gcc_cv_readelf,, [ +-if test -f $gcc_cv_binutils_srcdir/configure.in \ +- && test -f ../binutils/Makefile \ +- && test x$build = x$host; then +- # Single tree build which includes binutils. +- gcc_cv_readelf=../binutils/readelf$build_exeext +-elif test -x readelf$build_exeext; then +- gcc_cv_readelf=./readelf$build_exeext +-else +- AC_PATH_PROG(gcc_cv_readelf, readelf) +-fi]) +- +-AC_MSG_CHECKING(what readelf to use) +-if test "$gcc_cv_readelf" = ../binutils/readelf$build_exeext; then +- # Single tree build which includes binutils. +- AC_MSG_RESULT(newly built readelf) +-elif test x$gcc_cv_readelf = x; then +- AC_MSG_RESULT(not found) +-else +- AC_MSG_RESULT($gcc_cv_readelf) +-fi +- +-# Figure out what assembler alignment features are present. +-gcc_GAS_CHECK_FEATURE([.balign and .p2align], gcc_cv_as_balign_and_p2align, +- [2,6,0],, +-[.balign 4 +-.p2align 2],, +-[AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN, 1, +- [Define if your assembler supports .balign and .p2align.])]) +- +-gcc_GAS_CHECK_FEATURE([.p2align with maximum skip], gcc_cv_as_max_skip_p2align, +- [2,8,0],, +- [.p2align 4,,7],, +-[AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN, 1, +- [Define if your assembler supports specifying the maximum number +- of bytes to skip when using the GAS .p2align command.])]) +- +-gcc_GAS_CHECK_FEATURE([.literal16], gcc_cv_as_literal16, +- [2,8,0],, +- [.literal16],, +-[AC_DEFINE(HAVE_GAS_LITERAL16, 1, +- [Define if your assembler supports .literal16.])]) +- +-gcc_GAS_CHECK_FEATURE([working .subsection -1], gcc_cv_as_subsection_m1, +- [elf,2,9,0],, +- [conftest_label1: .word 0 +-.subsection -1 +-conftest_label2: .word 0 +-.previous], +- [if test x$gcc_cv_nm != x; then +- $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1 +- $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2 +- if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1 +- then : +- else gcc_cv_as_subsection_m1=yes +- fi +- rm -f conftest.nm1 conftest.nm2 +- fi], +- [AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1, +- [Define if your assembler supports .subsection and .subsection -1 starts +- emitting at the beginning of your section.])]) +- +-gcc_GAS_CHECK_FEATURE([.weak], gcc_cv_as_weak, +- [2,2,0],, +- [ .weak foobar],, +-[AC_DEFINE(HAVE_GAS_WEAK, 1, [Define if your assembler supports .weak.])]) +- +-gcc_GAS_CHECK_FEATURE([.weakref], gcc_cv_as_weakref, +- [2,17,0],, +- [ .weakref foobar, barfnot],, +-[AC_DEFINE(HAVE_GAS_WEAKREF, 1, [Define if your assembler supports .weakref.])]) +- +-gcc_GAS_CHECK_FEATURE([.nsubspa comdat], gcc_cv_as_nsubspa_comdat, +- [2,15,91],, +- [ .SPACE $TEXT$ +- .NSUBSPA $CODE$,COMDAT],, +-[AC_DEFINE(HAVE_GAS_NSUBSPA_COMDAT, 1, [Define if your assembler supports .nsubspa comdat option.])]) +- +-# .hidden needs to be supported in both the assembler and the linker, +-# because GNU LD versions before 2.12.1 have buggy support for STV_HIDDEN. +-# This is irritatingly difficult to feature test for; we have to check the +-# date string after the version number. If we've got an in-tree +-# ld, we don't know its patchlevel version, so we set the baseline at 2.13 +-# to be safe. +-# The gcc_GAS_CHECK_FEATURE call just sets a cache variable. +-gcc_GAS_CHECK_FEATURE([.hidden], gcc_cv_as_hidden, +- [elf,2,13,0],, +-[ .hidden foobar +-foobar:],[ +-# Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with +-# STV_HIDDEN, so disable .hidden support if so. +-case "${target}" in +- i?86-*-solaris2*) +- if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then +- cat > conftest.s <