X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfigure;h=1b72cdb94423dd866425611f288fbe6f45391135;hb=50388ca3231d2219dd81d1b840dc1581671fe7cf;hp=fd89fc80f8dbabf16afe8ade2b9dffa8da5e4bae;hpb=9b1f316f029ac2ff03a7743460e910736138710a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/configure b/gcc/configure index fd89fc80f8d..1b72cdb9442 100755 --- a/gcc/configure +++ b/gcc/configure @@ -309,7 +309,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn cxx_compat_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS' ac_subst_files='language_hooks' # Initialize some variables set by options. @@ -862,13 +862,12 @@ Optional Features: put copies of generated files in source dir intended for creating source tarballs for users without texinfo bison or flex. - --enable-werror-always enable -Werror always - --enable-werror enable -Werror in bootstrap stage2 and later + --enable-werror-always enable -Werror despite compiler version --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,fold,gc,gcac,misc, + Flags are: assert,df,fold,gc,gcac,misc, rtlflag,rtl,runtime,tree,valgrind. --enable-mapped-location location_t is fileline integer cookie --enable-coverage=LEVEL @@ -880,8 +879,14 @@ Optional Features: --enable-gather-detailed-mem-stats enable detailed memory allocation stats gathering --enable-multilib enable library support for multiple ABIs --enable-__cxa_atexit enable __cxa_atexit for C++ + --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 --enable-threads enable thread usage for target GCC --enable-threads=LIB use LIB thread package for target GCC + --enable-tls enable or disable generation of tls code + overriding the assembler check for tls support --enable-objc-gc enable the use of Boehm's garbage collector with the GNU Objective-C runtime --disable-shared don't provide a shared libgcc @@ -909,6 +914,7 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-build-libsubdir=DIR Directory where to find libraries for build system --with-local-prefix=DIR specifies directory to put local include --with-gxx-include-dir=DIR specifies directory to put g++ header files @@ -922,15 +928,21 @@ Optional Packages: --with-as arrange to use the specified as (full pathname) --with-stabs arrange to use stabs instead of host debug format --with-dwarf2 force the default debug format to be DWARF 2 + --with-build-sysroot=sysroot + use sysroot as the system root during the build --with-sysroot=DIR Search for usr/lib, usr/include, et al, within DIR. --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-system-libunwind use installed libunwind + --with-long-double-128 Use 128-bit long double by default. --with-gc={page,zone} choose the garbage collection mechanism to use with the compiler --with-system-zlib use installed libz - --with-slibdir=DIR shared libraries in DIR LIBDIR + --with-slibdir=DIR shared libraries in DIR [LIBDIR] + --with-datarootdir=DIR Use DIR as the data root [PREFIX/share] + --with-docdir=DIR Install documentation in DIR [DATAROOTDIR] + --with-htmldir=DIR html documentation in in DIR [DOCDIR] Some influential environment variables: CC C compiler command @@ -1516,8 +1528,26 @@ esac # Determine the target- and build-specific subdirectories - # Prefix 'build-' so this never conflicts with target_subdir. + +# post-stage1 host modules use a different CC_FOR_BUILD so, in order to +# have matching libraries, they should use host libraries: Makefile.tpl +# arranges to pass --with-build-libsubdir=$(HOST_SUBDIR). +# However, they still use the build modules, because the corresponding +# host modules (e.g. bison) are only built for the host when bootstrap +# finishes. So: +# - build_subdir is where we find build modules, and never changes. +# - build_libsubdir is where we find build libraries, and can be overridden. + +# Prefix 'build-' so this never conflicts with target_subdir. build_subdir="build-${build_noncanonical}" + +# Check whether --with-build-libsubdir or --without-build-libsubdir was given. +if test "${with_build_libsubdir+set}" = set; then + withval="$with_build_libsubdir" + build_libsubdir="$withval" +else + build_libsubdir="$build_subdir" +fi; # --srcdir=. covers the toplevel, while "test -d" covers the subdirectories if ( test $srcdir = . && test -d gcc ) \ || test -d $srcdir/../host-${host_noncanonical}; then @@ -1649,12 +1679,16 @@ no) ;; esac fi; +# 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='c++/$(version)' - gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/"${libstdcxx_incdir} + 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 @@ -1733,6 +1767,13 @@ _ACEOF fi +gnu_ld=`if test x"$gnu_ld_flag" = x"yes"; then echo 1; else echo 0; fi` + +cat >>confdefs.h <<_ACEOF +#define HAVE_GNU_LD $gnu_ld +_ACEOF + + echo "$as_me:$LINENO: checking whether a default linker was specified" >&5 echo $ECHO_N "checking whether a default linker was specified... $ECHO_C" >&6 if test x"${DEFAULT_LINKER+set}" = x"set"; then @@ -2867,6 +2908,14 @@ fi +# 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 + + # ------------------------- # Check C compiler features # ------------------------- @@ -6054,22 +6103,35 @@ fi # 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. -echo "$as_me:$LINENO: checking whether ${CC} accepts -Wno-long-long" >&5 -echo $ECHO_N "checking whether ${CC} accepts -Wno-long-long... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_w_no_long_long+set}" = set; then +loose_warn= +save_CFLAGS="$CFLAGS" +for option in -W -Wall -Wwrite-strings -Wstrict-prototypes \ + -Wmissing-prototypes; do + as_acx_Woption=`echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` + + echo "$as_me:$LINENO: checking whether $CC supports $option" >&5 +echo $ECHO_N "checking whether $CC supports $option... $ECHO_C" >&6 +if eval "test \"\${$as_acx_Woption+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CFLAGS="$CFLAGS" - CFLAGS="-Wno-long-long" - cat >conftest.$ac_ext <<_ACEOF + CFLAGS="$option" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +int +main () +{ + + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 @@ -6093,34 +6155,50 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_prog_cc_w_no_long_long=yes + eval "$as_acx_Woption=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_prog_cc_w_no_long_long=no +eval "$as_acx_Woption=no" fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$save_CFLAGS" fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_w_no_long_long" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_w_no_long_long" >&6 +echo "$as_me:$LINENO: result: `eval echo '${'$as_acx_Woption'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_acx_Woption'}'`" >&6 + if test `eval echo '${'$as_acx_Woption'}'` = yes; then + loose_warn="$loose_warn${loose_warn:+ }$option" +fi + + done +CFLAGS="$save_CFLAGS" -echo "$as_me:$LINENO: checking whether ${CC} accepts -Wno-variadic-macros" >&5 -echo $ECHO_N "checking whether ${CC} accepts -Wno-variadic-macros... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_w_no_variadic_macros+set}" = set; then +cxx_compat_warn= +save_CFLAGS="$CFLAGS" +for option in -Wc++-compat; do + as_acx_Woption=`echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` + + echo "$as_me:$LINENO: checking whether $CC supports $option" >&5 +echo $ECHO_N "checking whether $CC supports $option... $ECHO_C" >&6 +if eval "test \"\${$as_acx_Woption+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - save_CFLAGS="$CFLAGS" - CFLAGS="-Wno-variadic-macros" - cat >conftest.$ac_ext <<_ACEOF + CFLAGS="$option" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +int +main () +{ + + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 @@ -6144,42 +6222,118 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_prog_cc_w_no_variadic_macros=yes + eval "$as_acx_Woption=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_prog_cc_w_no_variadic_macros=no +eval "$as_acx_Woption=no" fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$save_CFLAGS" fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_w_no_variadic_macros" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_w_no_variadic_macros" >&6 +echo "$as_me:$LINENO: result: `eval echo '${'$as_acx_Woption'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_acx_Woption'}'`" >&6 + if test `eval echo '${'$as_acx_Woption'}'` = yes; then + cxx_compat_warn="$cxx_compat_warn${cxx_compat_warn:+ }$option" +fi + + done +CFLAGS="$save_CFLAGS" + +strict_warn= +save_CFLAGS="$CFLAGS" +for option in -Wold-style-definition \ + -Wmissing-format-attribute; do + as_acx_Woption=`echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` + + echo "$as_me:$LINENO: checking whether $CC supports $option" >&5 +echo $ECHO_N "checking whether $CC supports $option... $ECHO_C" >&6 +if eval "test \"\${$as_acx_Woption+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + CFLAGS="$option" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_acx_Woption=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_acx_Woption=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -strict1_warn= -if test $ac_cv_prog_cc_w_no_long_long = yes \ - && test $ac_cv_prog_cc_w_no_variadic_macros = yes ; then - strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_acx_Woption'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_acx_Woption'}'`" >&6 + if test `eval echo '${'$as_acx_Woption'}'` = yes; then + strict_warn="$strict_warn${strict_warn:+ }$option" fi + done +CFLAGS="$save_CFLAGS" -# Add -Wold-style-definition if it's accepted -echo "$as_me:$LINENO: checking whether ${CC} accepts -Wold-style-definition" >&5 -echo $ECHO_N "checking whether ${CC} accepts -Wold-style-definition... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_w_old_style_definition+set}" = set; then +if test "$GCC" = yes; then + echo "$as_me:$LINENO: checking whether $CC supports -pedantic -Wno-long-long -Wno-variadic-macros \ + -Wno-overlength-strings" >&5 +echo $ECHO_N "checking whether $CC supports -pedantic -Wno-long-long -Wno-variadic-macros \ + -Wno-overlength-strings... $ECHO_C" >&6 +if test "${acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros_____________Wno_overlength_strings+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else save_CFLAGS="$CFLAGS" - CFLAGS="-Wold-style-definition" - cat >conftest.$ac_ext <<_ACEOF +CFLAGS="-pedantic -Wno-long-long -Wno-variadic-macros \ + -Wno-overlength-strings" +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +int +main () +{ + + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 @@ -6203,69 +6357,56 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_prog_cc_w_old_style_definition=yes + acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros_____________Wno_overlength_strings=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_cv_prog_cc_w_old_style_definition=no +acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros_____________Wno_overlength_strings=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$save_CFLAGS" - +CFLAGS="$save_CFLAGS" fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_w_old_style_definition" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_w_old_style_definition" >&6 -if test $ac_cv_prog_cc_w_old_style_definition = yes ; then - strict1_warn="${strict1_warn} -Wold-style-definition" +echo "$as_me:$LINENO: result: $acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros_____________Wno_overlength_strings" >&5 +echo "${ECHO_T}$acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros_____________Wno_overlength_strings" >&6 +if test $acx_cv_prog_cc_pedantic__Wno_long_long__Wno_variadic_macros_____________Wno_overlength_strings = yes; then + strict_warn="$strict_warn${strict_warn:+ }-pedantic -Wno-long-long -Wno-variadic-macros \ + -Wno-overlength-strings" +fi + + fi -# Enable -Werror, period. -# Check whether --enable-werror_always or --disable-werror_always was given. + +# Check whether --enable-werror-always or --disable-werror-always was given. if test "${enable_werror_always+set}" = set; then enableval="$enable_werror_always" else enable_werror_always=no fi; -if test x${enable_werror_always} = xyes ; then - strict1_warn="${strict1_warn} -Werror" - WERROR=-Werror +if test $enable_werror_always = yes; then + strict_warn="$strict_warn${strict_warn:+ }-Werror" fi -# If the native compiler is GCC, we can enable warnings even in stage1. -# That's useful for people building cross-compilers, or just running a -# quick `make'. + + + +# The above macros do nothing if the compiler is not GCC. However, the +# Makefile has more goo to add other flags, so this variabl is used to +# enables warnings only for GCC. warn_cflags= if test "x$GCC" = "xyes"; then warn_cflags='$(GCC_WARN_CFLAGS)' fi -# Enable -Werror in bootstrap stage2 and later. +# Enable expensive internal checks is_release= if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then is_release=yes fi -# Check whether --enable-werror or --disable-werror was given. -if test "${enable_werror+set}" = set; then - enableval="$enable_werror" - -else - if test x$is_release = x ; then - # Default to "yes" on development branches. - enable_werror=yes -else - # Default to "no" on release branches. - enable_werror=no -fi -fi; -if test x$enable_werror = xyes ; then - WERROR=-Werror -fi - -# Enable expensive internal checks # Check whether --enable-checking or --disable-checking was given. if test "${enable_checking+set}" = set; then enableval="$enable_checking" @@ -6279,43 +6420,34 @@ else ac_checking_flags=release fi fi; -ac_assert_checking=1 -ac_checking= -ac_fold_checking= -ac_gc_checking= -ac_gc_always_collect= -ac_rtl_checking= -ac_rtlflag_checking= -ac_runtime_checking=1 -ac_tree_checking= -ac_valgrind_checking= IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS," -for check in $ac_checking_flags +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 ; + yes) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking=1 ; ac_fold_checking= ; ac_gc_checking=1 ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; ac_tree_checking=1 ; ac_valgrind_checking= ;; - no|none) ac_assert_checking= ; ac_checking= ; + no|none) ac_assert_checking= ; ac_checking= ; ac_df_checking= ; ac_fold_checking= ; ac_gc_checking= ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking= ; ac_runtime_checking= ; ac_tree_checking= ; ac_valgrind_checking= ;; - all) ac_assert_checking=1 ; ac_checking=1 ; + 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_rtl_checking=1 ; ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; ac_tree_checking=1 ; ac_valgrind_checking= ;; - release) ac_assert_checking=1 ; ac_checking= ; + release) ac_assert_checking=1 ; ac_checking= ; ac_df_checking= ; ac_fold_checking= ; ac_gc_checking= ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking= ; ac_runtime_checking=1 ; ac_tree_checking= ; ac_valgrind_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 ;; @@ -6342,6 +6474,13 @@ _ACEOF nocommon_flag=-fno-common fi +if test x$ac_df_checking != x ; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_DF_CHECKING 1 +_ACEOF + +fi if test x$ac_assert_checking != x ; then cat >>confdefs.h <<\_ACEOF @@ -6822,6 +6961,69 @@ if test "${enable___cxa_atexit+set}" = set; then fi; +# Enable C extension for decimal float if target supports it. +# Check whether --enable-decimal-float or --disable-decimal-float was given. +if test "${enable_decimal_float+set}" = set; then + enableval="$enable_decimal_float" + + case $enable_decimal_float in + yes | no | bid | dpd) ;; + *) { { echo "$as_me:$LINENO: error: '$enable_decimal_float' is an invalid value for --enable-decimal-float. +Valid choices are 'yes', 'bid', 'dpd', and 'no'." >&5 +echo "$as_me: error: '$enable_decimal_float' is an invalid value for --enable-decimal-float. +Valid choices are 'yes', 'bid', 'dpd', and 'no'." >&2;} + { (exit 1); exit 1; }; } ;; + esac + +else + + case $target in + powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux*) + enable_decimal_float=yes + ;; + *) + { echo "$as_me:$LINENO: WARNING: decimal float is not supported for this target" >&5 +echo "$as_me: WARNING: decimal float is not supported for this target" >&2;} + enable_decimal_float=no + ;; + esac + +fi; + +dfp=`if test $enable_decimal_float != no; then echo 1; else echo 0; fi` + +cat >>confdefs.h <<_ACEOF +#define ENABLE_DECIMAL_FLOAT $dfp +_ACEOF + + +# 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 + + +bid=`if test $enable_decimal_float = bid; then echo 1; else echo 0; fi` + +cat >>confdefs.h <<_ACEOF +#define ENABLE_DECIMAL_BID_FORMAT $bid +_ACEOF + + # Enable threads # Pass with no value to take the default # Pass with a value to specify a thread package @@ -6833,6 +7035,23 @@ else enable_threads='' fi; +# Check whether --enable-tls or --disable-tls was given. +if test "${enable_tls+set}" = set; then + enableval="$enable_tls" + + case $enable_tls in + yes | no) ;; + *) { { echo "$as_me:$LINENO: error: '$enable_tls' is an invalid value for --enable-tls. +Valid choices are 'yes' and 'no'." >&5 +echo "$as_me: error: '$enable_tls' is an invalid value for --enable-tls. +Valid choices are 'yes' and 'no'." >&2;} + { (exit 1); exit 1; }; } ;; + esac + +else + enable_tls='' +fi; + # Check whether --enable-objc-gc or --disable-objc-gc was given. if test "${enable_objc_gc+set}" = set; then enableval="$enable_objc_gc" @@ -6878,6 +7097,13 @@ fi; +# Check whether --with-build-sysroot or --without-build-sysroot was given. +if test "${with_build_sysroot+set}" = set; then + withval="$with_build_sysroot" + +fi; + + # Check whether --with-sysroot or --without-sysroot was given. if test "${with_sysroot+set}" = set; then withval="$with_sysroot" @@ -6888,19 +7114,22 @@ if test "${with_sysroot+set}" = set; then esac TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"' - CROSS_SYSTEM_HEADER_DIR='$(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR)' + 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 - if test "x$prefix" = xNONE; then - test_prefix=/usr/local - else - test_prefix=$prefix - fi + test_exec_prefix=$test_prefix else - test_prefix=$exec_prefix + 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" @@ -6958,27 +7187,9 @@ else enable_languages=c fi; -subdirs= -for lang in ${srcdir}/*/config-lang.in -do - case $lang in - # The odd quoting in the next line works around - # an apparent bug in bash 1.12 on linux. - ${srcdir}/[*]/config-lang.in) ;; - *) - lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang` - if test "x$lang_alias" = x - then - echo "$lang doesn't set \$language." 1>&2 - exit 1 - fi - case ",$enable_languages," in - *,$lang_alias,*) - subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" ;; - esac - ;; - esac -done +# Used by documentation targets + + # ------------------------- @@ -7357,14 +7568,10 @@ echo "${ECHO_T}no" >&6 fi -MISSING="${CONFIG_SHELL-/bin/sh} $srcdir/../missing" - # See if makeinfo has been installed and is modern enough # that we can use it. -ac_executable_extensions="$build_exeext" - -# Extract the first word of "makeinfo", so it can be a program name with args. + # Extract the first word of "makeinfo", so it can be a program name with args. set dummy makeinfo; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 @@ -7399,32 +7606,33 @@ else echo "${ECHO_T}no" >&6 fi -if test -n "$MAKEINFO"; then - # Found it, now check the version. - echo "$as_me:$LINENO: checking for modern makeinfo" >&5 + if test -n "$MAKEINFO"; then + # Found it, now check the version. + echo "$as_me:$LINENO: checking for modern makeinfo" >&5 echo $ECHO_N "checking for modern makeinfo... $ECHO_C" >&6 if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_prog_version=`$MAKEINFO --version 2>&1 | - sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - echo "configure:7411: version of makeinfo is $ac_prog_version" >&5 - case $ac_prog_version in - '') gcc_cv_prog_makeinfo_modern=no;; - 4.[2-9]*) - gcc_cv_prog_makeinfo_modern=yes;; - *) gcc_cv_prog_makeinfo_modern=no;; - esac + ac_prog_version=`eval $MAKEINFO --version 2>&1 | + sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` + + case $ac_prog_version in + '') gcc_cv_prog_makeinfo_modern=no;; + 4.[4-9]*) gcc_cv_prog_makeinfo_modern=yes;; + *) gcc_cv_prog_makeinfo_modern=no;; + esac fi echo "$as_me:$LINENO: result: $gcc_cv_prog_makeinfo_modern" >&5 echo "${ECHO_T}$gcc_cv_prog_makeinfo_modern" >&6 -else - gcc_cv_prog_makeinfo_modern=no -fi + else + gcc_cv_prog_makeinfo_modern=no + fi + if test $gcc_cv_prog_makeinfo_modern = no; then + MAKEINFO="${CONFIG_SHELL-/bin/sh} $ac_aux_dir/missing makeinfo" + fi if test $gcc_cv_prog_makeinfo_modern = no; then - MAKEINFO="$MISSING makeinfo" { echo "$as_me:$LINENO: WARNING: *** Makeinfo is missing or too old. *** Info documentation will not be built." >&5 @@ -7451,6 +7659,8 @@ echo "${ECHO_T}no" >&6 fi +MISSING="${CONFIG_SHELL-/bin/sh} $ac_aux_dir/missing" + # How about lex? for ac_prog in flex do @@ -8583,26 +8793,6 @@ esac # UNSORTED # -------- -# Stage specific cflags for build. -stage1_cflags= -case $build in -vax-*-*) - if test x$GCC = xyes - then - stage1_cflags="-Wa,-J" - else - stage1_cflags="-J" - fi - ;; -powerpc-*-darwin*) - # The spiffy cpp-precomp chokes on some legitimate constructs in GCC - # sources; use -no-cpp-precomp to get to GNU cpp. - # Apple's GCC has bugs in designated initializer handling, so disable - # that too. - stage1_cflags="-no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0" - ;; -esac - # These libraries may be used by collect2. # We may need a special search path to get them linked. @@ -9051,8 +9241,7 @@ fi - -for ac_func in times clock dup2 kill getrlimit setrlimit atoll atoq \ +for ac_func in times clock kill getrlimit setrlimit atoll atoq \ sysconf strsignal getrusage nl_langinfo scandir alphasort \ gettimeofday mbstowcs wcswidth mmap mincore setlocale \ clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked putchar_unlocked putc_unlocked @@ -9424,65 +9613,6 @@ else fi -echo "$as_me:$LINENO: checking whether the printf functions support %p" >&5 -echo $ECHO_N "checking whether the printf functions support %p... $ECHO_C" >&6 -if test "${gcc_cv_func_printf_ptr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - gcc_cv_func_printf_ptr=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -int main() -{ - char buf[64]; - char *p = buf, *q = NULL; - sprintf(buf, "%p", p); - sscanf(buf, "%p", &q); - return (p != q); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - gcc_cv_func_printf_ptr=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -gcc_cv_func_printf_ptr=no -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -rm -f core core.* *.core -fi -echo "$as_me:$LINENO: result: $gcc_cv_func_printf_ptr" >&5 -echo "${ECHO_T}$gcc_cv_func_printf_ptr" >&6 -if test $gcc_cv_func_printf_ptr = yes ; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_PRINTF_PTR 1 -_ACEOF - -fi - echo "$as_me:$LINENO: checking for sys/mman.h" >&5 echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6 @@ -11611,14 +11741,96 @@ fi done -# More time-related stuff. -echo "$as_me:$LINENO: checking for struct tms" >&5 -echo $ECHO_N "checking for struct tms... $ECHO_C" >&6 -if test "${ac_cv_struct_tms+set}" = set; then + +for ac_func in sigaltstack +do + ac_tr_decl=`echo "HAVE_DECL_$ac_func" | $as_tr_cpp` +echo "$as_me:$LINENO: checking whether $ac_func is declared" >&5 +echo $ECHO_N "checking whether $ac_func is declared... $ECHO_C" >&6 +if eval "test \"\${gcc_cv_have_decl_$ac_func+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#undef $ac_tr_decl +#define $ac_tr_decl 1 + +#include "ansidecl.h" +#include "system.h" +#include + + +int +main () +{ +#ifndef $ac_func +char *(*pfn) = (char *(*)) $ac_func ; +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "gcc_cv_have_decl_$ac_func=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "gcc_cv_have_decl_$ac_func=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +if eval "test \"`echo '$gcc_cv_have_decl_'$ac_func`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 ; cat >>confdefs.h <<_ACEOF +#define $ac_tr_decl 1 +_ACEOF + +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 ; cat >>confdefs.h <<_ACEOF +#define $ac_tr_decl 0 +_ACEOF + +fi + +done + + +# More time-related stuff. +echo "$as_me:$LINENO: checking for struct tms" >&5 +echo $ECHO_N "checking for struct tms... $ECHO_C" >&6 +if test "${ac_cv_struct_tms+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -11912,6 +12124,15 @@ if test "${with_system_libunwind+set}" = set; then fi; +# config.gcc also contains tests of with_system_libunwind. +if test x$with_system_libunwind = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETIPINFO 1 +_ACEOF + +fi + # -------------------------------------------------------- # Build, host, and target specific configuration fragments # -------------------------------------------------------- @@ -12050,6 +12271,64 @@ if test "$host_xm_file" != "$build_xm_file"; then fi fi +case ${host} in + powerpc*-*-darwin*) + echo "$as_me:$LINENO: checking whether mcontext_t fields have underscores" >&5 +echo $ECHO_N "checking whether mcontext_t fields have underscores... $ECHO_C" >&6 +if test "${gcc_cv_mcontext_underscores+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + +#include +#include +#include +int main() { mcontext_t m; if (m->ss.srr0) return 0; return 0; } + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + gcc_cv_mcontext_underscores=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +gcc_cv_mcontext_underscores=yes +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $gcc_cv_mcontext_underscores" >&5 +echo "${ECHO_T}$gcc_cv_mcontext_underscores" >&6 + if test $gcc_cv_mcontext_underscores = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAS_MCONTEXT_T_UNDERSCORES +_ACEOF + + fi + ;; +esac + # --------- # Threading # --------- @@ -12097,7 +12376,14 @@ 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 - echo "$as_me:$LINENO: checking for __cxa_atexit" >&5 + case $host in + # mingw32 doesn't have __cxa_atexit but uses atexit registration + # keyed to flag_use_cxa_atexit + *-*-mingw32*) + use_cxa_atexit=yes + ;; + *) + echo "$as_me:$LINENO: checking for __cxa_atexit" >&5 echo $ECHO_N "checking for __cxa_atexit... $ECHO_C" >&6 if test "${ac_cv_func___cxa_atexit+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12193,6 +12479,8 @@ else echo "__cxa_atexit can't be enabled on this target" fi + ;; + esac else # We can't check for __cxa_atexit when building a cross, so assume # it is available @@ -12201,12 +12489,156 @@ fi if test x$use_cxa_atexit = xyes; then cat >>confdefs.h <<\_ACEOF -#define DEFAULT_USE_CXA_ATEXIT 1 +#define DEFAULT_USE_CXA_ATEXIT 2 _ACEOF fi fi +use_getipinfo=yes +if test x$with_system_libunwind = xyes; then + if test x$host = x$target; then + echo "$as_me:$LINENO: checking for library containing _Unwind_GetIPInfo" >&5 +echo $ECHO_N "checking for library containing _Unwind_GetIPInfo... $ECHO_C" >&6 +if test "${ac_cv_search__Unwind_GetIPInfo+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search__Unwind_GetIPInfo=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char _Unwind_GetIPInfo (); +int +main () +{ +_Unwind_GetIPInfo (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search__Unwind_GetIPInfo="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search__Unwind_GetIPInfo" = no; then + for ac_lib in unwind; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char _Unwind_GetIPInfo (); +int +main () +{ +_Unwind_GetIPInfo (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search__Unwind_GetIPInfo="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search__Unwind_GetIPInfo" >&5 +echo "${ECHO_T}$ac_cv_search__Unwind_GetIPInfo" >&6 +if test "$ac_cv_search__Unwind_GetIPInfo" != no; then + test "$ac_cv_search__Unwind_GetIPInfo" = "none required" || LIBS="$ac_cv_search__Unwind_GetIPInfo $LIBS" + +else + use_getipinfo=no +fi + + fi +fi + +if test x$use_getipinfo = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GETIPINFO 1 +_ACEOF + +else + echo "The system unwind library does not support _Unwind_GetIPInfo." +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} @@ -12311,8 +12743,9 @@ INCINTL= XGETTEXT= GMSGFMT= POSUB= -if test -f ../intl/config.intl; then - . ../intl/config.intl + +if test -f ../intl/config.intl; then + . ../intl/config.intl fi echo "$as_me:$LINENO: checking whether NLS is requested" >&5 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 @@ -12344,8 +12777,8 @@ echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6 # by the backticks, then collapsed again by the double quotes, # leaving us with one backslash in the sed expression (right # before the dot that mustn't act as a wildcard). - cat=`echo $cat | sed -e "s!$srcdir/!!" -e "s!\\\\.po!.gmo!"` - lang=`echo $cat | sed -e 's!po/!!' -e "s!\\\\.gmo!!"` + cat=`echo $cat | sed -e "s!$srcdir/po/!!" -e "s!\\\\.po!.gmo!"` + lang=`echo $cat | sed -e "s!\\\\.gmo!!"` # The user is allowed to set LINGUAS to a list of languages to # install catalogs for. If it's empty that means "all of them." if test "x$LINGUAS" = x; then @@ -12362,9 +12795,19 @@ echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6 LINGUAS="$XLINGUAS" echo "$as_me:$LINENO: result: $LINGUAS" >&5 echo "${ECHO_T}$LINGUAS" >&6 -fi -# If LIBINTL contains LIBICONV, then clear LIBICONV so we don't get + + DATADIRNAME=share + + INSTOBJEXT=.mo + + GENCAT=gencat + + CATOBJEXT=.gmo + +fi + +# If LIBINTL contains LIBICONV, then clear LIBICONV so we don't get # -liconv on the link line twice. case "$LIBINTL" in *$LIBICONV*) LIBICONV= ;; @@ -12562,25 +13005,6 @@ do done tmake_file="${tmake_file_}" -# If the host doesn't support symlinks, modify CC in -# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works. -# Otherwise, we can use "CC=$(CC)". -rm -f symtest.tem -case "$LN_S" in - *-s*) - cc_set_by_configure="\$(CC)" - quoted_cc_set_by_configure="\$(CC)" - stage_prefix_set_by_configure="\$(STAGE_PREFIX)" - quoted_stage_prefix_set_by_configure="\$(STAGE_PREFIX)" - ;; - *) - cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`" - quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`" - stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`" - quoted_stage_prefix_set_by_configure="\\\`case '\\\$(STAGE_PREFIX)' in stage*) echo '\\\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(STAGE_PREFIX)';; esac\\\`" - ;; -esac - # This is a terrible hack which will go away some day. host_cc_for_libada=${CC} @@ -12591,6 +13015,11 @@ tm_file_list="options.h" tm_include_list="options.h" for f in $tm_file; do case $f in + ./* ) + f=`echo $f | sed 's/^..//'` + tm_file_list="${tm_file_list} $f" + tm_include_list="${tm_include_list} $f" + ;; defaults.h ) tm_file_list="${tm_file_list} \$(srcdir)/$f" tm_include_list="${tm_include_list} $f" @@ -12672,16 +13101,27 @@ for f in $build_xm_file; do esac done -# Define macro CROSS_COMPILE in compilation if this is a cross-compiler. +# Define macro CROSS_DIRECTORY_STRUCTURE in compilation if this is a +# cross-compiler which does not use the native headers and libraries. # Also use all.cross instead of all.internal and adjust SYSTEM_HEADER_DIR. CROSS= ALL=all.internal SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADER_DIR)' + +if test "x$with_build_sysroot" != x; then + build_system_header_dir=$with_build_sysroot'$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)' +else + # This value is used, even on a native system, because + # CROSS_SYSTEM_HEADER_DIR is just + # $(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR). + build_system_header_dir='$(CROSS_SYSTEM_HEADER_DIR)' +fi + if test x$host != x$target then - CROSS="-DCROSS_COMPILE" + CROSS="-DCROSS_DIRECTORY_STRUCTURE" ALL=all.cross - SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)' + SYSTEM_HEADER_DIR=$build_system_header_dir case "$host","$target" in # Darwin crosses can use the host system's libraries and headers, # because of the fat library support. Of course, it must be the @@ -12703,8 +13143,7 @@ then CROSS="$CROSS -DNATIVE_CROSS" ;; esac elif test "x$TARGET_SYSTEM_ROOT" != x; then - # This is just $(TARGET_SYSTEM_ROOT)$(NATIVE_SYSTEM_HEADER_DIR) - SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)' + SYSTEM_HEADER_DIR=$build_system_header_dir fi # If this is a cross-compiler that does not @@ -12715,11 +13154,11 @@ fi # then define inhibit_libc in LIBGCC2_CFLAGS. # This prevents libgcc2 from containing any code which requires libc # support. -inhibit_libc= +inhibit_libc=false if { { test x$host != x$target && test "x$with_sysroot" = x ; } || test x$with_newlib = xyes ; } && { test "x$with_headers" = x || test "x$with_headers" = xno ; } ; then - inhibit_libc=-Dinhibit_libc + inhibit_libc=true fi @@ -12763,6 +13202,11 @@ for file in ${extra_headers} ; do extra_headers_list="${extra_headers_list} \$(srcdir)/config/${cpu_type}/${file}" done +# If use_gcc_tgmath is set, append ginclude/tgmath.h. +if test x"$use_gcc_tgmath" = xyes +then extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/tgmath.h" +fi + # Define collect2 in Makefile. case $host_can_use_collect2 in no) collect2= ;; @@ -12798,115 +13242,28 @@ esac # If build != host, and we aren't building gas in-tree, we identify a # build->target assembler and hope that it will have the same features # as the host->target assembler we'll be using. -in_tree_gas=no -gcc_cv_as= gcc_cv_gas_major_version= gcc_cv_gas_minor_version= gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas + +if test "${gcc_cv_as+set}" = set; then + : +else + 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 - # 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. - in_tree_gas=yes - gcc_cv_as_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd -for f in $gcc_cv_as_bfd_srcdir/configure \ - $gcc_cv_as_gas_srcdir/configure \ - $gcc_cv_as_gas_srcdir/configure.in \ - $gcc_cv_as_gas_srcdir/Makefile.in ; do - gcc_cv_gas_version=`sed -n -e 's/^[ ]*\(VERSION=[0-9]*\.[0-9]*.*\)/\1/p' < $f` - if test x$gcc_cv_gas_version != x; then - break - fi -done -gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"` -gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"` -gcc_cv_gas_patch_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.[0-9]*\.\([0-9]*\)"` -case $gcc_cv_gas_patch_version in - "") gcc_cv_gas_patch_version="0" ;; -esac -gcc_cv_gas_vers=`expr \( \( $gcc_cv_gas_major_version \* 1000 \) \ - + $gcc_cv_gas_minor_version \) \* 1000 \ - + $gcc_cv_gas_patch_version` - - gcc_cv_as=../gas/as-new$build_exeext - 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 + 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 +elif test -x $AS_FOR_TARGET; then gcc_cv_as="$AS_FOR_TARGET" -elif test -x "$AS" && test x$host = x$target; then - gcc_cv_as="$AS" -fi - - -# When searching for the assembler or linker, search the same directories -# that the installed compiler will search. Else we may find the wrong -# assembler or linker and lose. If we do not find a suitable binary, -# then try the user's path. -# -# Also note we have to check MD_EXEC_PREFIX before checking the user's path. -if test "x$exec_prefix" = xNONE; then - if test "x$prefix" = xNONE; then - gcc_cv_tool_prefix=/usr/local - else - gcc_cv_tool_prefix=$prefix - fi -else - gcc_cv_tool_prefix=$exec_prefix -fi - -if test x$host = x$build; then - gcc_cv_tool_dirs="$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical/$gcc_version" - gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical" - gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR/usr/lib/gcc/$target_noncanonical/$gcc_version" - gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR/usr/lib/gcc/$target_noncanonical" - gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$gcc_cv_tool_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version" - gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$gcc_cv_tool_prefix/$target_noncanonical/bin" else - gcc_cv_tool_dirs= -fi - -if test x$build = x$target; then - # Rummage through tm_files looking for MD_EXEC_PREFIX - md_dirs= - for f in ${tm_file_list}; do - if test -f $f; then - if grep '^#[ ]*undef[ ]*MD_EXEC_PREFIX' $f > /dev/null; then - md_dirs= - fi - md_dirs="$md_dirs "`sed -n -e 's@^#[ ]*define[ ]*MD_EXEC_PREFIX[ ]*"\(.*\)/"@\1@p' < $f` - fi - done - for f in ${md_dirs}; do - gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$f" - done -fi - - - - -exec 6>/dev/null -if test "x$gcc_cv_as" = x; then - # The AC_PATH_PROGS macro doesn't work properly when its 4th argument - # is empty. - if test "x$gcc_cv_tool_dirs" = x; then - gcc_cv_as= - else - for ac_prog in as -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 + # Extract the first word of "$AS_FOR_TARGET", so it can be a program name with args. +set dummy $AS_FOR_TARGET; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_gcc_cv_as+set}" = set; then @@ -12918,7 +13275,7 @@ else ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $gcc_cv_tool_dirs +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. @@ -12944,34 +13301,98 @@ else echo "${ECHO_T}no" >&6 fi - test -n "$gcc_cv_as" && break +fi +fi + + +ORIGINAL_AS_FOR_TARGET=$gcc_cv_as + +case "$ORIGINAL_AS_FOR_TARGET" in + ./as | ./as$build_exeext) ;; + *) ac_config_files="$ac_config_files as:exec-tool.in" + ;; +esac + +echo "$as_me:$LINENO: checking what assembler to use" >&5 +echo $ECHO_N "checking what assembler to use... $ECHO_C" >&6 +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. + echo "$as_me:$LINENO: result: newly built gas" >&5 +echo "${ECHO_T}newly built gas" >&6 + in_tree_gas=yes + gcc_cv_as_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd +for f in $gcc_cv_as_bfd_srcdir/configure \ + $gcc_cv_as_gas_srcdir/configure \ + $gcc_cv_as_gas_srcdir/configure.in \ + $gcc_cv_as_gas_srcdir/Makefile.in ; do + gcc_cv_gas_version=`sed -n -e 's/^[ ]*\(VERSION=[0-9]*\.[0-9]*.*\)/\1/p' < $f` + if test x$gcc_cv_gas_version != x; then + break + fi done +gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"` +gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"` +gcc_cv_gas_patch_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.[0-9]*\.\([0-9]*\)"` +case $gcc_cv_gas_patch_version in + "") gcc_cv_gas_patch_version="0" ;; +esac +gcc_cv_gas_vers=`expr \( \( $gcc_cv_gas_major_version \* 1000 \) \ + + $gcc_cv_gas_minor_version \) \* 1000 \ + + $gcc_cv_gas_patch_version` - fi + 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 + echo "$as_me:$LINENO: result: $gcc_cv_as" >&5 +echo "${ECHO_T}$gcc_cv_as" >&6 + in_tree_gas=no fi -if test "x$gcc_cv_as" = x; then - # If the loop above did not find a tool, then use whatever - # one we can find in the users's path. We are looking for a - # ${build} -> ${target} tool. - if test "x$program_prefix" != xNONE; then - default_tool_name=${program_prefix}as - elif test x$build != x$host && test x$build != x$target; then - default_tool_name=${target_noncanonical}-as - else - default_tool_name=`echo as | sed "${program_transform_name}"` - fi - for ac_prog in $default_tool_name -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 + +# 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 + +if test "${gcc_cv_ld+set}" = set; then + : +else + +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 + # Extract the first word of "$LD_FOR_TARGET", so it can be a program name with args. +set dummy $LD_FOR_TARGET; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_gcc_cv_as+set}" = set; then +if test "${ac_cv_path_gcc_cv_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $gcc_cv_as in + case $gcc_cv_ld in [\\/]* | ?:[\\/]*) - ac_cv_path_gcc_cv_as="$gcc_cv_as" # Let the user override the test with a path. + ac_cv_path_gcc_cv_ld="$gcc_cv_ld" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -12981,7 +13402,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_gcc_cv_as="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_gcc_cv_ld="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -12991,59 +13412,36 @@ done ;; esac fi -gcc_cv_as=$ac_cv_path_gcc_cv_as +gcc_cv_ld=$ac_cv_path_gcc_cv_ld -if test -n "$gcc_cv_as"; then - echo "$as_me:$LINENO: result: $gcc_cv_as" >&5 -echo "${ECHO_T}$gcc_cv_as" >&6 +if test -n "$gcc_cv_ld"; then + echo "$as_me:$LINENO: result: $gcc_cv_ld" >&5 +echo "${ECHO_T}$gcc_cv_ld" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - test -n "$gcc_cv_as" && break -done -test -n "$gcc_cv_as" || gcc_cv_as="$gcc_cv_tool_prefix/$default_tool_name$build_exeext" - fi -test "$silent" != yes && exec 6>&1 +fi -ORIGINAL_AS_FOR_TARGET="$gcc_cv_as" -echo "$as_me:$LINENO: checking what assembler to use" >&5 -echo $ECHO_N "checking what assembler to use... $ECHO_C" >&6 -case $in_tree_gas in - yes) - echo "$as_me:$LINENO: result: \"newly built gas\"" >&5 -echo "${ECHO_T}\"newly built gas\"" >&6 - ;; - no) - echo "$as_me:$LINENO: result: $gcc_cv_as" >&5 -echo "${ECHO_T}$gcc_cv_as" >&6 - ;; +ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld + +case "$ORIGINAL_LD_FOR_TARGET" in + ./collect-ld | ./collect-ld$build_exeext) ;; + *) ac_config_files="$ac_config_files collect-ld:exec-tool.in" + ;; esac -# 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. -in_tree_ld=no -gcc_cv_ld= -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 -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 +echo "$as_me:$LINENO: checking what linker to use" >&5 +echo $ECHO_N "checking what linker to use... $ECHO_C" >&6 +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. + echo "$as_me:$LINENO: result: newly built ld" >&5 +echo "${ECHO_T}newly built ld" >&6 in_tree_ld=yes in_tree_ld_is_elf=no if (grep 'EMUL = .*elf' ../ld/Makefile \ @@ -13060,49 +13458,47 @@ elif test -f $gcc_cv_ld_gld_srcdir/configure.in \ 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]*\)"` - 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" -elif test -x "$LD" && test x$host = x$target; then - gcc_cv_ld="$LD" +else + echo "$as_me:$LINENO: result: $gcc_cv_ld" >&5 +echo "${ECHO_T}$gcc_cv_ld" >&6 + in_tree_ld=no fi +# Figure out what nm we will be using. +gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils +if test "${gcc_cv_nm+set}" = set; then + : +else - - - -exec 6>/dev/null -if test "x$gcc_cv_ld" = x; then - # The AC_PATH_PROGS macro doesn't work properly when its 4th argument - # is empty. - if test "x$gcc_cv_tool_dirs" = x; then - gcc_cv_ld= - else - for ac_prog in ld -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 +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 + # Extract the first word of "$NM_FOR_TARGET", so it can be a program name with args. +set dummy $NM_FOR_TARGET; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_gcc_cv_ld+set}" = set; then +if test "${ac_cv_path_gcc_cv_nm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $gcc_cv_ld in + case $gcc_cv_nm in [\\/]* | ?:[\\/]*) - ac_cv_path_gcc_cv_ld="$gcc_cv_ld" # Let the user override the test with a path. + ac_cv_path_gcc_cv_nm="$gcc_cv_nm" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $gcc_cv_tool_dirs +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_gcc_cv_ld="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_gcc_cv_nm="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -13112,188 +13508,67 @@ done ;; esac fi -gcc_cv_ld=$ac_cv_path_gcc_cv_ld +gcc_cv_nm=$ac_cv_path_gcc_cv_nm -if test -n "$gcc_cv_ld"; then - echo "$as_me:$LINENO: result: $gcc_cv_ld" >&5 -echo "${ECHO_T}$gcc_cv_ld" >&6 +if test -n "$gcc_cv_nm"; then + echo "$as_me:$LINENO: result: $gcc_cv_nm" >&5 +echo "${ECHO_T}$gcc_cv_nm" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - test -n "$gcc_cv_ld" && break -done +fi +fi - fi + +echo "$as_me:$LINENO: checking what nm to use" >&5 +echo $ECHO_N "checking what nm to use... $ECHO_C" >&6 +if test "$gcc_cv_nm" = ../binutils/nm-new$build_exeext; then + # Single tree build which includes binutils. + echo "$as_me:$LINENO: result: newly built nm" >&5 +echo "${ECHO_T}newly built nm" >&6 + in_tree_nm=yes +else + echo "$as_me:$LINENO: result: $gcc_cv_nm" >&5 +echo "${ECHO_T}$gcc_cv_nm" >&6 + in_tree_nm=no fi -if test "x$gcc_cv_ld" = x; then - # If the loop above did not find a tool, then use whatever - # one we can find in the users's path. We are looking for a - # ${build} -> ${target} tool. - if test "x$program_prefix" != xNONE; then - default_tool_name=${program_prefix}ld - elif test x$build != x$host && test x$build != x$target; then - default_tool_name=${target_noncanonical}-ld - else - default_tool_name=`echo ld | sed "${program_transform_name}"` - fi - for ac_prog in $default_tool_name -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_gcc_cv_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $gcc_cv_ld in - [\\/]* | ?:[\\/]*) - ac_cv_path_gcc_cv_ld="$gcc_cv_ld" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_gcc_cv_ld="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -gcc_cv_ld=$ac_cv_path_gcc_cv_ld - -if test -n "$gcc_cv_ld"; then - echo "$as_me:$LINENO: result: $gcc_cv_ld" >&5 -echo "${ECHO_T}$gcc_cv_ld" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$gcc_cv_ld" && break -done -test -n "$gcc_cv_ld" || gcc_cv_ld="$gcc_cv_tool_prefix/$default_tool_name$build_exeext" - -fi -test "$silent" != yes && exec 6>&1 -ORIGINAL_LD_FOR_TARGET="$gcc_cv_ld" +ORIGINAL_NM_FOR_TARGET=$gcc_cv_nm -echo "$as_me:$LINENO: checking what linker to use" >&5 -echo $ECHO_N "checking what linker to use... $ECHO_C" >&6 -case $in_tree_ld in - yes) - echo "$as_me:$LINENO: result: \"newly built ld\"" >&5 -echo "${ECHO_T}\"newly built ld\"" >&6 - ;; - no) - echo "$as_me:$LINENO: result: $gcc_cv_ld" >&5 -echo "${ECHO_T}$gcc_cv_ld" >&6 - ;; +case "$ORIGINAL_NM_FOR_TARGET" in + ./nm | ./nm$build_exeext) ;; + *) ac_config_files="$ac_config_files nm:exec-tool.in" + ;; esac -# Figure out what nm we will be using. -gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils -in_tree_nm=no -gcc_cv_nm= -if test -f $gcc_cv_binutils_srcdir/configure.in \ - && test -f ../binutils/Makefile; then - # Single tree build which includes binutils. - in_tree_nm=yes - gcc_cv_nm=../binutils/nm-new$build_exeext -elif test -x nm$build_exeext; then - gcc_cv_nm=./nm$build_exeext -fi - - - - -exec 6>/dev/null -if test "x$gcc_cv_nm" = x; then - # The AC_PATH_PROGS macro doesn't work properly when its 4th argument - # is empty. - if test "x$gcc_cv_tool_dirs" = x; then - gcc_cv_nm= - else - for ac_prog in nm -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_gcc_cv_nm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# Figure out what objdump we will be using. +if test "${gcc_cv_objdump+set}" = set; then + : else - case $gcc_cv_nm in - [\\/]* | ?:[\\/]*) - ac_cv_path_gcc_cv_nm="$gcc_cv_nm" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $gcc_cv_tool_dirs -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_gcc_cv_nm="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -gcc_cv_nm=$ac_cv_path_gcc_cv_nm -if test -n "$gcc_cv_nm"; then - echo "$as_me:$LINENO: result: $gcc_cv_nm" >&5 -echo "${ECHO_T}$gcc_cv_nm" >&6 +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 - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$gcc_cv_nm" && break -done - - fi -fi -if test "x$gcc_cv_nm" = x; then - # If the loop above did not find a tool, then use whatever - # one we can find in the users's path. We are looking for a - # ${build} -> ${target} tool. - if test "x$program_prefix" != xNONE; then - default_tool_name=${program_prefix}nm - elif test x$build != x$host && test x$build != x$target; then - default_tool_name=${target_noncanonical}-nm - else - default_tool_name=`echo nm | sed "${program_transform_name}"` - fi - for ac_prog in $default_tool_name -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 + # Extract the first word of "$OBJDUMP_FOR_TARGET", so it can be a program name with args. +set dummy $OBJDUMP_FOR_TARGET; ac_word=$2 echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_gcc_cv_nm+set}" = set; then +if test "${ac_cv_path_gcc_cv_objdump+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - case $gcc_cv_nm in + case $gcc_cv_objdump in [\\/]* | ?:[\\/]*) - ac_cv_path_gcc_cv_nm="$gcc_cv_nm" # Let the user override the test with a path. + ac_cv_path_gcc_cv_objdump="$gcc_cv_objdump" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -13303,7 +13578,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_gcc_cv_nm="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_gcc_cv_objdump="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -13313,59 +13588,33 @@ done ;; esac fi -gcc_cv_nm=$ac_cv_path_gcc_cv_nm +gcc_cv_objdump=$ac_cv_path_gcc_cv_objdump -if test -n "$gcc_cv_nm"; then - echo "$as_me:$LINENO: result: $gcc_cv_nm" >&5 -echo "${ECHO_T}$gcc_cv_nm" >&6 +if test -n "$gcc_cv_objdump"; then + echo "$as_me:$LINENO: result: $gcc_cv_objdump" >&5 +echo "${ECHO_T}$gcc_cv_objdump" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - test -n "$gcc_cv_nm" && break -done -test -n "$gcc_cv_nm" || gcc_cv_nm="$gcc_cv_tool_prefix/$default_tool_name$build_exeext" - fi -test "$silent" != yes && exec 6>&1 - -ORIGINAL_NM_FOR_TARGET="$gcc_cv_nm" +fi -echo "$as_me:$LINENO: checking what nm to use" >&5 -echo $ECHO_N "checking what nm to use... $ECHO_C" >&6 -case $in_tree_nm in - yes) echo "$as_me:$LINENO: result: \"newly built nm\"" >&5 -echo "${ECHO_T}\"newly built nm\"" >&6 ;; - no) echo "$as_me:$LINENO: result: $gcc_cv_nm" >&5 -echo "${ECHO_T}$gcc_cv_nm" >&6 ;; -esac -# Figure out what objdump we will be using. echo "$as_me:$LINENO: checking what objdump to use" >&5 echo $ECHO_N "checking what objdump to use... $ECHO_C" >&6 -in_tree_objdump=no -if test -x objdump$build_exeext; then - gcc_cv_objdump=./objdump$build_exeext -elif test -f $gcc_cv_binutils_srcdir/configure.in \ - && test -f ../binutils/Makefile; then +if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then # Single tree build which includes binutils. - in_tree_objdump=yes - gcc_cv_objdump=../binutils/objdump$build_exeext -elif test "x$program_prefix" != xNONE; then - gcc_cv_objdump=${program_prefix}objdump$build_exeext -elif test x$build != x$host && test x$build != x$target; then - gcc_cv_objdump=${target_noncanonical}-objdump$build_exeext -else - gcc_cv_objdump=`echo objdump | \ - sed "${program_transform_name}"`$build_exeext -fi -case $in_tree_objdump in - yes) echo "$as_me:$LINENO: result: \"newly built objdump\"" >&5 -echo "${ECHO_T}\"newly built objdump\"" >&6 ;; - no) echo "$as_me:$LINENO: result: $gcc_cv_objdump" >&5 -echo "${ECHO_T}$gcc_cv_objdump" >&6 ;; -esac + echo "$as_me:$LINENO: result: newly built objdump" >&5 +echo "${ECHO_T}newly built objdump" >&6 +elif test x$gcc_cv_objdump = x; then + echo "$as_me:$LINENO: result: not found" >&5 +echo "${ECHO_T}not found" >&6 +else + echo "$as_me:$LINENO: result: $gcc_cv_objdump" >&5 +echo "${ECHO_T}$gcc_cv_objdump" >&6 +fi # Figure out what assembler alignment features are present. echo "$as_me:$LINENO: checking assembler for .balign and .p2align" >&5 @@ -13443,6 +13692,43 @@ _ACEOF fi +echo "$as_me:$LINENO: checking assembler for .literal16" >&5 +echo $ECHO_N "checking assembler for .literal16... $ECHO_C" >&6 +if test "${gcc_cv_as_literal16+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_literal16=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 8 \) \* 1000 + 0` + then gcc_cv_as_literal16=yes +fi + elif test x$gcc_cv_as != x; then + echo '.literal16' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_literal16=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_literal16" >&5 +echo "${ECHO_T}$gcc_cv_as_literal16" >&6 +if test $gcc_cv_as_literal16 = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GAS_LITERAL16 1 +_ACEOF + +fi + echo "$as_me:$LINENO: checking assembler for working .subsection -1" >&5 echo $ECHO_N "checking assembler for working .subsection -1... $ECHO_C" >&6 if test "${gcc_cv_as_subsection_m1+set}" = set; then @@ -13529,6 +13815,43 @@ _ACEOF fi +echo "$as_me:$LINENO: checking assembler for .weakref" >&5 +echo $ECHO_N "checking assembler for .weakref... $ECHO_C" >&6 +if test "${gcc_cv_as_weakref+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_weakref=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 17 \) \* 1000 + 0` + then gcc_cv_as_weakref=yes +fi + elif test x$gcc_cv_as != x; then + echo ' .weakref foobar, barfnot' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_weakref=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_weakref" >&5 +echo "${ECHO_T}$gcc_cv_as_weakref" >&6 +if test $gcc_cv_as_weakref = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GAS_WEAKREF 1 +_ACEOF + +fi + echo "$as_me:$LINENO: checking assembler for .nsubspa comdat" >&5 echo $ECHO_N "checking assembler for .nsubspa comdat... $ECHO_C" >&6 if test "${gcc_cv_as_nsubspa_comdat+set}" = set; then @@ -13629,7 +13952,7 @@ else -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p' \ - -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ ].*$,\1,p'` + -e 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\)[ -].*$,\1,p'` ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` @@ -13801,11 +14124,14 @@ cat > conftest.big </dev/null \ | tail -3 > conftest.got \ - && { cmp conftest.lit conftest.got > /dev/null 2>&1 \ - || cmp conftest.big conftest.got > /dev/null 2>&1; } + && { diff -b conftest.lit conftest.got > /dev/null 2>&1 \ + || diff -b conftest.big conftest.got > /dev/null 2>&1; } then gcc_cv_as_eh_frame=yes elif { ac_try='$gcc_cv_as -o conftest.o --traditional-format /dev/null' @@ -13986,10 +14312,13 @@ if test $in_tree_ld != yes && test x"$ld_vers" != x; then comdat_group=no fi fi - if test $comdat_group = no; then - gcc_cv_as_comdat_group=no - gcc_cv_as_comdat_group_percent=no - fi +else + # assume linkers other than GNU ld don't support COMDAT group + comdat_group=no +fi +if test $comdat_group = no; then + gcc_cv_as_comdat_group=no + gcc_cv_as_comdat_group_percent=no fi cat >>confdefs.h <<_ACEOF @@ -14064,6 +14393,19 @@ foo: .long 25 tls_first_minor=15 tls_as_opt=--fatal-warnings ;; + arm*-*-*) + conftest_s=' + .section ".tdata","awT",%progbits +foo: .long 25 + .text +.word foo(gottpoff) +.word foo(tpoff) +.word foo(tlsgd) +.word foo(tlsldm) +.word foo(tlsldo)' + tls_first_major=2 + tls_first_minor=17 + ;; i[34567]86-*-*) conftest_s=' .section ".tdata","awT",@progbits @@ -14247,6 +14589,15 @@ foo: .long 25 ;; sparc*-*-*) case "$target" in + sparc*-sun-solaris2.[56789]*) + # TLS was introduced in the Solaris 9 4/04 release but + # we do not enable it by default on Solaris 9 either. + if test "x$enable_tls" = xyes ; then + on_solaris=yes + else + enable_tls=no; + fi + ;; sparc*-sun-solaris2.*) on_solaris=yes ;; @@ -14308,7 +14659,12 @@ foo: .long 25 fi ;; esac -if test -z "$tls_first_major"; then +set_have_as_tls=no +if test "x$enable_tls" = xno ; then + : # TLS explicitly disabled. +elif test "x$enable_tls" = xyes ; then + set_have_as_tls=yes # TLS explicitly enabled. +elif test -z "$tls_first_major"; then : # If we don't have a check, assume no support. else echo "$as_me:$LINENO: checking assembler for thread-local storage support" >&5 @@ -14341,13 +14697,16 @@ fi echo "$as_me:$LINENO: result: $gcc_cv_as_tls" >&5 echo "${ECHO_T}$gcc_cv_as_tls" >&6 if test $gcc_cv_as_tls = yes; then + set_have_as_tls=yes +fi +fi +if test $set_have_as_tls = yes ; then cat >>confdefs.h <<\_ACEOF #define HAVE_AS_TLS 1 _ACEOF fi -fi # Target-specific assembler checks. @@ -14854,24 +15213,14 @@ _ACEOF fi - # This one is used unconditionally by i386.[ch]; it is to be defined - # to 1 if the feature is present, 0 otherwise. - echo "$as_me:$LINENO: checking assembler for GOTOFF in data" >&5 -echo $ECHO_N "checking assembler for GOTOFF in data... $ECHO_C" >&6 -if test "${gcc_cv_as_ix86_gotoff_in_data+set}" = set; then + echo "$as_me:$LINENO: checking assembler for ffreep mnemonic" >&5 +echo $ECHO_N "checking assembler for ffreep mnemonic... $ECHO_C" >&6 +if test "${gcc_cv_as_ix86_ffreep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - gcc_cv_as_ix86_gotoff_in_data=no - if test $in_tree_gas = yes; then - if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 11 \) \* 1000 + 0` - then gcc_cv_as_ix86_gotoff_in_data=yes -fi - elif test x$gcc_cv_as != x; then - echo ' .text -.L0: - nop - .data - .long .L0@GOTOFF' > conftest.s + gcc_cv_as_ix86_ffreep=no + if test x$gcc_cv_as != x; then + echo 'ffreep %st(1)' > conftest.s if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -14879,7 +15228,7 @@ fi echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } then - gcc_cv_as_ix86_gotoff_in_data=yes + gcc_cv_as_ix86_ffreep=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -14887,32 +15236,24 @@ fi rm -f conftest.o conftest.s fi fi -echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_gotoff_in_data" >&5 -echo "${ECHO_T}$gcc_cv_as_ix86_gotoff_in_data" >&6 +echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_ffreep" >&5 +echo "${ECHO_T}$gcc_cv_as_ix86_ffreep" >&6 +if test $gcc_cv_as_ix86_ffreep = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_AS_GOTOFF_IN_DATA `if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi` +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_IX86_FFREEP 1 _ACEOF - ;; +fi - ia64*-*-*) - echo "$as_me:$LINENO: checking assembler for ltoffx and ldxmov relocs" >&5 -echo $ECHO_N "checking assembler for ltoffx and ldxmov relocs... $ECHO_C" >&6 -if test "${gcc_cv_as_ia64_ltoffx_ldxmov_relocs+set}" = set; then + echo "$as_me:$LINENO: checking assembler for sahf mnemonic" >&5 +echo $ECHO_N "checking assembler for sahf mnemonic... $ECHO_C" >&6 +if test "${gcc_cv_as_ix86_sahf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - gcc_cv_as_ia64_ltoffx_ldxmov_relocs=no - if test $in_tree_gas = yes; then - if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 14 \) \* 1000 + 0` - then gcc_cv_as_ia64_ltoffx_ldxmov_relocs=yes -fi - elif test x$gcc_cv_as != x; then - echo ' .text - addl r15 = @ltoffx(x#), gp - ;; - ld8.mov r16 = [r15], x#' > conftest.s + gcc_cv_as_ix86_sahf=no + if test x$gcc_cv_as != x; then + echo 'sahf' > conftest.s if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -14920,7 +15261,7 @@ fi echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } then - gcc_cv_as_ia64_ltoffx_ldxmov_relocs=yes + gcc_cv_as_ix86_sahf=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -14928,20 +15269,143 @@ fi rm -f conftest.o conftest.s fi fi -echo "$as_me:$LINENO: result: $gcc_cv_as_ia64_ltoffx_ldxmov_relocs" >&5 -echo "${ECHO_T}$gcc_cv_as_ia64_ltoffx_ldxmov_relocs" >&6 -if test $gcc_cv_as_ia64_ltoffx_ldxmov_relocs = yes; then +echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_sahf" >&5 +echo "${ECHO_T}$gcc_cv_as_ix86_sahf" >&6 +if test $gcc_cv_as_ix86_sahf = yes; then cat >>confdefs.h <<\_ACEOF -#define HAVE_AS_LTOFFX_LDXMOV_RELOCS 1 +#define HAVE_AS_IX86_SAHF 1 _ACEOF fi - ;; - - powerpc*-*-*) - case $target in + echo "$as_me:$LINENO: checking assembler for different section symbol subtraction" >&5 +echo $ECHO_N "checking assembler for different section symbol subtraction... $ECHO_C" >&6 +if test "${gcc_cv_as_ix86_diff_sect_delta+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_ix86_diff_sect_delta=no + if test x$gcc_cv_as != x; then + echo '.section .rodata +.L1: + .long .L2-.L1 + .long .L3-.L1 + .text +.L3: nop +.L2: nop' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_ix86_diff_sect_delta=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_diff_sect_delta" >&5 +echo "${ECHO_T}$gcc_cv_as_ix86_diff_sect_delta" >&6 +if test $gcc_cv_as_ix86_diff_sect_delta = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_IX86_DIFF_SECT_DELTA 1 +_ACEOF + +fi + + # This one is used unconditionally by i386.[ch]; it is to be defined + # to 1 if the feature is present, 0 otherwise. + echo "$as_me:$LINENO: checking assembler for GOTOFF in data" >&5 +echo $ECHO_N "checking assembler for GOTOFF in data... $ECHO_C" >&6 +if test "${gcc_cv_as_ix86_gotoff_in_data+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_ix86_gotoff_in_data=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 11 \) \* 1000 + 0` + then gcc_cv_as_ix86_gotoff_in_data=yes +fi + elif test x$gcc_cv_as != x; then + echo ' .text +.L0: + nop + .data + .long .L0@GOTOFF' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_ix86_gotoff_in_data=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_ix86_gotoff_in_data" >&5 +echo "${ECHO_T}$gcc_cv_as_ix86_gotoff_in_data" >&6 + + +cat >>confdefs.h <<_ACEOF +#define HAVE_AS_GOTOFF_IN_DATA `if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi` +_ACEOF + + ;; + + ia64*-*-*) + echo "$as_me:$LINENO: checking assembler for ltoffx and ldxmov relocs" >&5 +echo $ECHO_N "checking assembler for ltoffx and ldxmov relocs... $ECHO_C" >&6 +if test "${gcc_cv_as_ia64_ltoffx_ldxmov_relocs+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_ia64_ltoffx_ldxmov_relocs=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 14 \) \* 1000 + 0` + then gcc_cv_as_ia64_ltoffx_ldxmov_relocs=yes +fi + elif test x$gcc_cv_as != x; then + echo ' .text + addl r15 = @ltoffx(x#), gp + ;; + ld8.mov r16 = [r15], x#' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_ia64_ltoffx_ldxmov_relocs=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_ia64_ltoffx_ldxmov_relocs" >&5 +echo "${ECHO_T}$gcc_cv_as_ia64_ltoffx_ldxmov_relocs" >&6 +if test $gcc_cv_as_ia64_ltoffx_ldxmov_relocs = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_LTOFFX_LDXMOV_RELOCS 1 +_ACEOF + +fi + + ;; + + powerpc*-*-*) + case $target in *-*-aix*) conftest_s=' .machine "pwr5" .csect .text[PR] mfcr 3,128';; @@ -15068,6 +15532,98 @@ _ACEOF fi case $target in + *-*-aix*) conftest_s=' .machine "pwr5x" + .csect .text[PR] + frin 1,1';; + *) conftest_s=' .machine power5 + .text + frin 1,1';; + esac + + echo "$as_me:$LINENO: checking assembler for fp round support" >&5 +echo $ECHO_N "checking assembler for fp round support... $ECHO_C" >&6 +if test "${gcc_cv_as_powerpc_fprnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_powerpc_fprnd=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 17 \) \* 1000 + 0` + then gcc_cv_as_powerpc_fprnd=yes +fi + elif test x$gcc_cv_as != x; then + echo "$conftest_s" > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_powerpc_fprnd=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_fprnd" >&5 +echo "${ECHO_T}$gcc_cv_as_powerpc_fprnd" >&6 +if test $gcc_cv_as_powerpc_fprnd = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_FPRND 1 +_ACEOF + +fi + + case $target in + *-*-aix*) conftest_s=' .machine "pwr6" + .csect .text[PR] + mffgpr 1,3';; + *) conftest_s=' .machine power6 + .text + mffgpr 1,3';; + esac + + echo "$as_me:$LINENO: checking assembler for move fp gpr support" >&5 +echo $ECHO_N "checking assembler for move fp gpr support... $ECHO_C" >&6 +if test "${gcc_cv_as_powerpc_mfpgpr+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_powerpc_mfpgpr=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 9 \* 1000 \) + 99 \) \* 1000 + 0` + then gcc_cv_as_powerpc_mfpgpr=yes +fi + elif test x$gcc_cv_as != x; then + echo "$conftest_s" > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_powerpc_mfpgpr=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_mfpgpr" >&5 +echo "${ECHO_T}$gcc_cv_as_powerpc_mfpgpr" >&6 +if test $gcc_cv_as_powerpc_mfpgpr = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_MFPGPR 1 +_ACEOF + +fi + + case $target in *-*-aix*) conftest_s=' .csect .text[PR] LCF..0: addis 11,30,_GLOBAL_OFFSET_TABLE_-LCF..0@ha';; @@ -15087,19 +15643,259 @@ if test "${gcc_cv_as_powerpc_rel16+set}" = set; then else gcc_cv_as_powerpc_rel16=no if test $in_tree_gas = yes; then - if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 17 \) \* 1000 + 0` - then gcc_cv_as_powerpc_rel16=yes + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 17 \) \* 1000 + 0` + then gcc_cv_as_powerpc_rel16=yes +fi + elif test x$gcc_cv_as != x; then + echo "$conftest_s" > conftest.s + if { ac_try='$gcc_cv_as -a32 -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_powerpc_rel16=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_rel16" >&5 +echo "${ECHO_T}$gcc_cv_as_powerpc_rel16" >&6 +if test $gcc_cv_as_powerpc_rel16 = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_REL16 1 +_ACEOF + +fi + + case $target in + *-*-aix*) conftest_s=' .machine "pwr6" + .csect .text[PR] + cmpb 3,4,5';; + *) conftest_s=' .machine power6 + .text + cmpb 3,4,5';; + esac + + echo "$as_me:$LINENO: checking assembler for compare bytes support" >&5 +echo $ECHO_N "checking assembler for compare bytes support... $ECHO_C" >&6 +if test "${gcc_cv_as_powerpc_cmpb+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_powerpc_cmpb=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 9 \* 1000 \) + 99 \) \* 1000 + 0` + then gcc_cv_as_powerpc_cmpb=yes +fi + elif test x$gcc_cv_as != x; then + echo "$conftest_s" > conftest.s + if { ac_try='$gcc_cv_as -a32 -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_powerpc_cmpb=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_cmpb" >&5 +echo "${ECHO_T}$gcc_cv_as_powerpc_cmpb" >&6 +if test $gcc_cv_as_powerpc_cmpb = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_CMPB 1 +_ACEOF + +fi + + case $target in + *-*-aix*) conftest_s=' .machine "pwr6" + .csect .text[PR] + dadd 1,2,3';; + *) conftest_s=' .machine power6 + .text + dadd 1,2,3';; + esac + + echo "$as_me:$LINENO: checking assembler for decimal float support" >&5 +echo $ECHO_N "checking assembler for decimal float support... $ECHO_C" >&6 +if test "${gcc_cv_as_powerpc_dfp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_powerpc_dfp=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 9 \* 1000 \) + 99 \) \* 1000 + 0` + then gcc_cv_as_powerpc_dfp=yes +fi + elif test x$gcc_cv_as != x; then + echo "$conftest_s" > conftest.s + if { ac_try='$gcc_cv_as -a32 -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_powerpc_dfp=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_dfp" >&5 +echo "${ECHO_T}$gcc_cv_as_powerpc_dfp" >&6 +if test $gcc_cv_as_powerpc_dfp = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_DFP 1 +_ACEOF + +fi + + echo "$as_me:$LINENO: checking assembler for .gnu_attribute support" >&5 +echo $ECHO_N "checking assembler for .gnu_attribute support... $ECHO_C" >&6 +if test "${gcc_cv_as_powerpc_gnu_attribute+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_powerpc_gnu_attribute=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 18 \) \* 1000 + 0` + then gcc_cv_as_powerpc_gnu_attribute=yes +fi + elif test x$gcc_cv_as != x; then + echo '.gnu_attribute 4,1' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_powerpc_gnu_attribute=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_gnu_attribute" >&5 +echo "${ECHO_T}$gcc_cv_as_powerpc_gnu_attribute" >&6 +if test $gcc_cv_as_powerpc_gnu_attribute = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_GNU_ATTRIBUTE 1 +_ACEOF + +fi + ;; + + mips*-*-*) + echo "$as_me:$LINENO: checking assembler for explicit relocation support" >&5 +echo $ECHO_N "checking assembler for explicit relocation support... $ECHO_C" >&6 +if test "${gcc_cv_as_mips_explicit_relocs+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_mips_explicit_relocs=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 14 \) \* 1000 + 0` + then gcc_cv_as_mips_explicit_relocs=yes +fi + elif test x$gcc_cv_as != x; then + echo ' lw $4,%gp_rel(foo)($4)' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_mips_explicit_relocs=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_mips_explicit_relocs" >&5 +echo "${ECHO_T}$gcc_cv_as_mips_explicit_relocs" >&6 +if test $gcc_cv_as_mips_explicit_relocs = yes; then + if test x$target_cpu_default = x + then target_cpu_default=MASK_EXPLICIT_RELOCS + else target_cpu_default="($target_cpu_default)|MASK_EXPLICIT_RELOCS" + fi +fi + echo "$as_me:$LINENO: checking assembler for -mno-shared support" >&5 +echo $ECHO_N "checking assembler for -mno-shared support... $ECHO_C" >&6 +if test "${gcc_cv_as_mips_no_shared+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_mips_no_shared=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 16 \) \* 1000 + 0` + then gcc_cv_as_mips_no_shared=yes +fi + elif test x$gcc_cv_as != x; then + echo 'nop' > conftest.s + if { ac_try='$gcc_cv_as -mno-shared -o conftest.o conftest.s >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } + then + gcc_cv_as_mips_no_shared=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_mips_no_shared" >&5 +echo "${ECHO_T}$gcc_cv_as_mips_no_shared" >&6 +if test $gcc_cv_as_mips_no_shared = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_NO_SHARED 1 +_ACEOF + +fi + + echo "$as_me:$LINENO: checking assembler for .gnu_attribute support" >&5 +echo $ECHO_N "checking assembler for .gnu_attribute support... $ECHO_C" >&6 +if test "${gcc_cv_as_mips_gnu_attribute+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_mips_gnu_attribute=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 18 \) \* 1000 + 0` + then gcc_cv_as_mips_gnu_attribute=yes fi elif test x$gcc_cv_as != x; then - echo "$conftest_s" > conftest.s - if { ac_try='$gcc_cv_as -a32 -o conftest.o conftest.s >&5' + echo '.gnu_attribute 4,1' > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } then - gcc_cv_as_powerpc_rel16=yes + gcc_cv_as_mips_gnu_attribute=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -15107,30 +15903,32 @@ fi rm -f conftest.o conftest.s fi fi -echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_rel16" >&5 -echo "${ECHO_T}$gcc_cv_as_powerpc_rel16" >&6 -if test $gcc_cv_as_powerpc_rel16 = yes; then +echo "$as_me:$LINENO: result: $gcc_cv_as_mips_gnu_attribute" >&5 +echo "${ECHO_T}$gcc_cv_as_mips_gnu_attribute" >&6 +if test $gcc_cv_as_mips_gnu_attribute = yes; then cat >>confdefs.h <<\_ACEOF -#define HAVE_AS_REL16 1 +#define HAVE_AS_GNU_ATTRIBUTE 1 _ACEOF fi - ;; - mips*-*-*) - echo "$as_me:$LINENO: checking assembler for explicit relocation support" >&5 -echo $ECHO_N "checking assembler for explicit relocation support... $ECHO_C" >&6 -if test "${gcc_cv_as_mips_explicit_relocs+set}" = set; then + echo "$as_me:$LINENO: checking assembler for .dtprelword support" >&5 +echo $ECHO_N "checking assembler for .dtprelword support... $ECHO_C" >&6 +if test "${gcc_cv_as_mips_dtprelword+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - gcc_cv_as_mips_explicit_relocs=no + gcc_cv_as_mips_dtprelword=no if test $in_tree_gas = yes; then - if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 14 \) \* 1000 + 0` - then gcc_cv_as_mips_explicit_relocs=yes + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 18 \) \* 1000 + 0` + then gcc_cv_as_mips_dtprelword=yes fi elif test x$gcc_cv_as != x; then - echo ' lw $4,%gp_rel(foo)($4)' > conftest.s + echo '.section .tdata,"awT",@progbits +x: + .word 2 + .text + .dtprelword x+0x8000' > conftest.s if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -15138,7 +15936,7 @@ fi echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } then - gcc_cv_as_mips_explicit_relocs=yes + gcc_cv_as_mips_dtprelword=yes else echo "configure: failed program was" >&5 cat conftest.s >&5 @@ -15146,15 +15944,23 @@ fi rm -f conftest.o conftest.s fi fi -echo "$as_me:$LINENO: result: $gcc_cv_as_mips_explicit_relocs" >&5 -echo "${ECHO_T}$gcc_cv_as_mips_explicit_relocs" >&6 -if test $gcc_cv_as_mips_explicit_relocs = yes; then - if test x$target_cpu_default = x - then target_cpu_default=MASK_EXPLICIT_RELOCS - else target_cpu_default="($target_cpu_default)|MASK_EXPLICIT_RELOCS" - fi +echo "$as_me:$LINENO: result: $gcc_cv_as_mips_dtprelword" >&5 +echo "${ECHO_T}$gcc_cv_as_mips_dtprelword" >&6 +if test $gcc_cv_as_mips_dtprelword = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_DTPRELWORD 1 +_ACEOF + fi + ;; +esac +# Mips and HP-UX need the GNU assembler. +# Linux on IA64 might be able to use the Intel assembler. + +case "$target" in + mips*-*-* | *-*-hpux* ) if test x$gas_flag = xyes \ || test x"$host" != x"$build" \ || test ! -x "$gcc_cv_as" \ @@ -15166,6 +15972,7 @@ fi fi ;; esac + # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any # info to the output file. So, as supported targets are added to gas 2.11, @@ -15175,7 +15982,7 @@ esac case "$target" in i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \ | x86_64*-*-* | hppa*-*-* | arm*-*-* | strongarm*-*-* | xscale*-*-* \ - | xstormy16*-*-* | cris-*-* | xtensa-*-*) + | xstormy16*-*-* | cris-*-* | xtensa-*-* | bfin-*-* | score*-*-* | spu-*-*) insn="nop" ;; ia64*-*-* | s390*-*-*) @@ -15355,6 +16162,46 @@ _ACEOF fi fi +echo "$as_me:$LINENO: checking assembler for tolerance to line number 0" >&5 +echo $ECHO_N "checking assembler for tolerance to line number 0... $ECHO_C" >&6 +if test "${gcc_cv_as_line_zero+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + gcc_cv_as_line_zero=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 16 \) \* 1000 + 91` + then gcc_cv_as_line_zero=yes +fi + elif test "x$gcc_cv_as" != x; then + { echo '# 1 "test.s" 1'; echo '# 0 "" 2'; } > conftest.s + if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5 2>conftest.out' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + test "x`cat conftest.out`" = x + then + gcc_cv_as_line_zero=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + echo "configure: error output was" >&5 + cat conftest.out >&5 + fi + rm -f conftest.o conftest.s conftest.out + fi +fi +echo "$as_me:$LINENO: result: $gcc_cv_as_line_zero" >&5 +echo "${ECHO_T}$gcc_cv_as_line_zero" >&6 +if test "x$gcc_cv_as_line_zero" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_AS_LINE_ZERO 1 +_ACEOF + +fi + echo "$as_me:$LINENO: checking linker read-only and read-write section mixing" >&5 echo $ECHO_N "checking linker read-only and read-write section mixing... $ECHO_C" >&6 gcc_cv_ld_ro_rw_mix=unknown @@ -15445,6 +16292,89 @@ fi echo "$as_me:$LINENO: result: $gcc_cv_ld_pie" >&5 echo "${ECHO_T}$gcc_cv_ld_pie" >&6 +echo "$as_me:$LINENO: checking linker EH-compatible garbage collection of sections" >&5 +echo $ECHO_N "checking linker EH-compatible garbage collection of sections... $ECHO_C" >&6 +gcc_cv_ld_eh_gc_sections=no +if test $in_tree_ld = yes ; then + if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 17 -o "$gcc_cv_gld_major_version" -gt 2 \ + && test $in_tree_ld_is_elf = yes; then + gcc_cv_ld_eh_gc_sections=yes + fi +elif test x$gcc_cv_as != x -a x$gcc_cv_ld != x -a x$gcc_cv_objdump != x ; then + cat > conftest.s < /dev/null 2>&1; then + if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \ + | grep "gc-sections option ignored" > /dev/null; then + gcc_cv_ld_eh_gc_sections=no + elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then + gcc_cv_ld_eh_gc_sections=yes + # If no COMDAT groups, the compiler will emit .gnu.linkonce.t. sections. + if test x$gcc_cv_as_comdat_group != xyes; then + gcc_cv_ld_eh_gc_sections=no + cat > conftest.s < /dev/null 2>&1; then + if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \ + | grep "gc-sections option ignored" > /dev/null; then + gcc_cv_ld_eh_gc_sections=no + elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then + gcc_cv_ld_eh_gc_sections=yes + fi + fi + fi + fi + fi + rm -f conftest.s conftest.o conftest +fi +case "$target" in + hppa*-*-linux*) + # ??? This apparently exposes a binutils bug with PC-relative relocations. + gcc_cv_ld_eh_gc_sections=no + ;; +esac +if test x$gcc_cv_ld_eh_gc_sections = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LD_EH_GC_SECTIONS 1 +_ACEOF + +fi +echo "$as_me:$LINENO: result: $gcc_cv_ld_eh_gc_sections" >&5 +echo "${ECHO_T}$gcc_cv_ld_eh_gc_sections" >&6 + # -------- # UNSORTED # -------- @@ -15478,8 +16408,8 @@ _ACEOF fi -case "$target" in - powerpc64*-*-linux*) +case "$target:$tm_file" in + powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*) echo "$as_me:$LINENO: checking linker support for omitting dot symbols" >&5 echo $ECHO_N "checking linker support for omitting dot symbols... $ECHO_C" >&6 if test "${gcc_cv_ld_no_dot_syms+set}" = set; then @@ -15555,7 +16485,8 @@ _ACEOF fi if test x$with_sysroot = x && test x$host = x$target \ - && test "$prefix" != "/usr" && test "x$prefix" != "x$local_prefix" ; then + && test "$prefix" != "/usr" && test "x$prefix" != "x$local_prefix" \ + && test "$prefix" != "NONE"; then cat >>confdefs.h <<_ACEOF #define PREFIX_INCLUDE_DIR "$prefix/include" @@ -15564,17 +16495,19 @@ _ACEOF fi # Test for stack protector support in target C library. -case "$target" in - *-*-linux*) - echo "$as_me:$LINENO: checking __stack_chk_fail in target GNU C library" >&5 -echo $ECHO_N "checking __stack_chk_fail in target GNU C library... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking __stack_chk_fail in target C library" >&5 +echo $ECHO_N "checking __stack_chk_fail in target C library... $ECHO_C" >&6 if test "${gcc_cv_libc_provides_ssp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gcc_cv_libc_provides_ssp=no + case "$target" in + *-*-linux*) if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then if test "x$with_sysroot" = x; then glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include" + elif test "x$with_build_sysroot" != "x"; then + glibc_header_dir="${with_build_sysroot}/usr/include" elif test "x$with_sysroot" = xyes; then glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-root/usr/include" else @@ -15597,12 +16530,112 @@ else $glibc_header_dir/features.h > /dev/null; then gcc_cv_libc_provides_ssp=yes fi - fi + fi + ;; + *-*-darwin*) + echo "$as_me:$LINENO: checking for __stack_chk_fail" >&5 +echo $ECHO_N "checking for __stack_chk_fail... $ECHO_C" >&6 +if test "${ac_cv_func___stack_chk_fail+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define __stack_chk_fail to an innocuous variant, in case declares __stack_chk_fail. + For example, HP-UX 11i declares gettimeofday. */ +#define __stack_chk_fail innocuous___stack_chk_fail + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char __stack_chk_fail (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef __stack_chk_fail + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char __stack_chk_fail (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub___stack_chk_fail) || defined (__stub_____stack_chk_fail) +choke me +#else +char (*f) () = __stack_chk_fail; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != __stack_chk_fail; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func___stack_chk_fail=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func___stack_chk_fail=no fi -echo "$as_me:$LINENO: result: $gcc_cv_libc_provides_ssp" >&5 -echo "${ECHO_T}$gcc_cv_libc_provides_ssp" >&6 ;; +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func___stack_chk_fail" >&5 +echo "${ECHO_T}$ac_cv_func___stack_chk_fail" >&6 +if test $ac_cv_func___stack_chk_fail = yes; then + gcc_cv_libc_provides_ssp=yes +else + echo "no __stack_chk_fail on this target" +fi + + ;; *) gcc_cv_libc_provides_ssp=no ;; -esac + esac +fi +echo "$as_me:$LINENO: result: $gcc_cv_libc_provides_ssp" >&5 +echo "${ECHO_T}$gcc_cv_libc_provides_ssp" >&6 + if test x$gcc_cv_libc_provides_ssp = xyes; then cat >>confdefs.h <<\_ACEOF @@ -15611,6 +16644,50 @@ _ACEOF fi +# Check if TFmode long double should be used by default or not. +# Some glibc targets used DFmode long double, but with glibc 2.4 +# and later they can use TFmode. +case "$target" in + powerpc*-*-linux* | \ + powerpc*-*-gnu* | \ + sparc*-*-linux* | \ + s390*-*-linux* | \ + alpha*-*-linux*) + +# Check whether --with-long-double-128 or --without-long-double-128 was given. +if test "${with_long_double_128+set}" = set; then + withval="$with_long_double_128" + gcc_cv_target_ldbl128="$with_long_double_128" +else + gcc_cv_target_ldbl128=no + if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then + if test "x$with_sysroot" = x; then + glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include" + elif test "x$with_build_sysroot" != "x"; then + glibc_header_dir="${with_build_sysroot}/usr/include" + elif test "x$with_sysroot" = xyes; then + glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-root/usr/include" + else + glibc_header_dir="${with_sysroot}/usr/include" + fi + else + glibc_header_dir=/usr/include + fi + grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \ + $glibc_header_dir/bits/wordsize.h > /dev/null 2>&1 \ + && gcc_cv_target_ldbl128=yes + +fi; + ;; +esac +if test x$gcc_cv_target_ldbl128 = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define TARGET_DEFAULT_LONG_DOUBLE_128 1 +_ACEOF + +fi + # Find out what GC implementation we want, or may, use. # Check whether --with-gc or --without-gc was given. @@ -15681,38 +16758,25 @@ fi # Make empty files to contain the specs and options for each language. # Then add #include lines to for a compiler that has specs and/or options. +subdirs= lang_opt_files= lang_specs_files= lang_tree_files= -for subdir in . $subdirs -do - if test -f $srcdir/$subdir/lang.opt; then - lang_opt_files="$lang_opt_files $srcdir/$subdir/lang.opt" - fi - if test -f $srcdir/$subdir/lang-specs.h; then - lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h" - fi - if test -f $srcdir/$subdir/$subdir-tree.def; then - lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def" - fi -done - # These (without "all_") are set in each config-lang.in. # `language' must be a single word so is spelled singularly. all_languages= -all_boot_languages= all_compilers= -all_stagestuff= -all_outputs='Makefile gccbug mklibgcc libada-mk' +all_outputs='Makefile gccbug libada-mk' # List of language makefile fragments. all_lang_makefrags= # List of language subdirectory makefiles. Deprecated. all_lang_makefiles= -# Files for gengtype +# Additional files for gengtype all_gtfiles="$target_gtfiles" -# Files for gengtype with language -all_gtfiles_files_langs= -all_gtfiles_files_files= + +# These are the languages that are set in --enable-languages, +# and are available in the GCC tree. +all_selected_languages= # Add the language fragments. # Languages are added via two mechanisms. Some information must be @@ -15723,73 +16787,96 @@ all_gtfiles_files_files= language_hooks="Make-hooks" -for s in $subdirs +for lang in ${srcdir}/*/config-lang.in do - language= - boot_language= - compilers= - stagestuff= - outputs= - gtfiles= - . ${srcdir}/$s/config-lang.in - if test "x$language" = x - then - echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2 - exit 1 - fi - all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$s/Make-lang.in" - if test -f ${srcdir}/$s/Makefile.in - then all_lang_makefiles="$s/Makefile" - fi - all_languages="$all_languages $language" - if test "x$boot_language" = xyes - then - all_boot_languages="$all_boot_languages $language" - fi - all_compilers="$all_compilers $compilers" - all_stagestuff="$all_stagestuff $stagestuff" - all_outputs="$all_outputs $outputs" - all_gtfiles="$all_gtfiles $gtfiles" - for f in $gtfiles - do - all_gtfiles_files_langs="$all_gtfiles_files_langs ${s} " - all_gtfiles_files_files="$all_gtfiles_files_files ${f} " - done + test "$lang" = "${srcdir}/*/config-lang.in" && continue + + lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang` + if test "x$lang_alias" = x + then + echo "$lang doesn't set \$language." 1>&2 + exit 1 + fi + subdir="`echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" + subdirs="$subdirs $subdir" + case ",$enable_languages," in + *,$lang_alias,*) + all_selected_languages="$all_selected_languages $lang_alias" + if test -f $srcdir/$subdir/lang-specs.h; then + lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h" + fi + ;; + esac + + language= + boot_language= + compilers= + outputs= + gtfiles= + subdir_requires= + . ${srcdir}/$subdir/config-lang.in + if test "x$language" = x + then + echo "${srcdir}/$subdir/config-lang.in doesn't set \$language." 1>&2 + exit 1 + fi + + ok=: + case ",$enable_languages," in + *,$lang_alias,*) ;; + *) + for i in $subdir_requires; do + test -f "${srcdir}/$i/config-lang.in" && continue + ok=false + break + done + ;; + esac + $ok || continue + + all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$subdir/Make-lang.in" + if test -f $srcdir/$subdir/lang.opt; then + lang_opt_files="$lang_opt_files $srcdir/$subdir/lang.opt" + fi + if test -f $srcdir/$subdir/$subdir-tree.def; then + lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def" + fi + if test -f ${srcdir}/$subdir/Makefile.in + then all_lang_makefiles="$subdir/Makefile" + fi + all_languages="$all_languages $language" + all_compilers="$all_compilers $compilers" + all_outputs="$all_outputs $outputs" + all_gtfiles="$all_gtfiles [$subdir] $gtfiles" done # Pick up gtfiles for c gtfiles= -s="c" . ${srcdir}/c-config-lang.in -all_gtfiles="$all_gtfiles $gtfiles" -for f in $gtfiles -do - all_gtfiles_files_langs="$all_gtfiles_files_langs ${s} " - all_gtfiles_files_files="$all_gtfiles_files_files ${f} " -done +all_gtfiles="$all_gtfiles [c] $gtfiles" check_languages= -for language in $all_languages +for language in $all_selected_languages do - check_languages="$check_languages check-$language" + check_languages="$check_languages check-$language" done # We link each language in with a set of hooks, reached indirectly via -# lang.${target}. +# lang.${target}. Only do so for selected languages. rm -f Make-hooks touch Make-hooks -target_list="all.build all.cross start.encap rest.encap tags \ - install-normal install-common install-man \ - uninstall info man srcextra srcman srcinfo \ - mostlyclean clean distclean maintainer-clean \ - stage1 stage2 stage3 stage4 stageprofile stagefeedback" +target_list="all.cross start.encap rest.encap tags \ + install-common install-man install-info install-pdf dvi pdf \ + html uninstall info man srcextra srcman srcinfo \ + mostlyclean clean distclean maintainer-clean" + for t in $target_list do x= - for lang in $all_languages + for lang in $all_selected_languages do - x="$x $lang.$t" + x="$x $lang.$t" done echo "lang.$t: $x" >> Make-hooks done @@ -15814,40 +16901,7 @@ if test "x$subdirs" != x; then fi echo "source ${srcdir}/gdbinit.in" >> .gdbinit -# If $(exec_prefix) exists and is not the same as $(prefix), then compute an -# absolute path for gcc_tooldir based on inserting the number of up-directory -# movements required to get from $(exec_prefix) to $(prefix) into the basic -# $(libsubdir)/@(unlibsubdir) based path. -# Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel -# make and thus we'd get different behavior depending on where we built the -# sources. -if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then - gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_noncanonical)' -else -# An explanation of the sed strings: -# -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix' -# -e 's|/$||' match a trailing forward slash and eliminates it -# -e 's|^[^/]|/|' forces the string to start with a forward slash (*) -# -e 's|/[^/]*|../|g' replaces each occurrence of / with ../ -# -# (*) Note this pattern overwrites the first character of the string -# with a forward slash if one is not already present. This is not a -# problem because the exact names of the sub-directories concerned is -# unimportant, just the number of them matters. -# -# The practical upshot of these patterns is like this: -# -# prefix exec_prefix result -# ------ ----------- ------ -# /foo /foo/bar ../ -# /foo/ /foo/bar ../ -# /foo /foo/bar/ ../ -# /foo/ /foo/bar/ ../ -# /foo /foo/bar/ugg ../../ -# - dollar='$$' - gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_noncanonical)" -fi +gcc_tooldir='$(libsubdir)/$(libsubdir_to_prefix)$(target_noncanonical)' @@ -15878,15 +16932,37 @@ fi; objdir=`${PWDCMD-pwd}` -# Substitute configuration variables + +# Check whether --with-datarootdir or --without-datarootdir was given. +if test "${with_datarootdir+set}" = set; then + withval="$with_datarootdir" + datarootdir="\${prefix}/$with_datarootdir" +else + datarootdir='$(prefix)/share' +fi; +# Check whether --with-docdir or --without-docdir was given. +if test "${with_docdir+set}" = set; then + withval="$with_docdir" + docdir="\${prefix}/$with_docdir" +else + docdir='$(datarootdir)' +fi; +# Check whether --with-htmldir or --without-htmldir was given. +if test "${with_htmldir+set}" = set; then + withval="$with_htmldir" + htmldir="\${prefix}/$with_htmldir" +else + htmldir='$(docdir)' +fi; +# Substitute configuration variables @@ -16507,6 +17583,9 @@ for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. + "as" ) CONFIG_FILES="$CONFIG_FILES as:exec-tool.in" ;; + "collect-ld" ) CONFIG_FILES="$CONFIG_FILES collect-ld:exec-tool.in" ;; + "nm" ) CONFIG_FILES="$CONFIG_FILES nm:exec-tool.in" ;; "$all_outputs" ) CONFIG_FILES="$CONFIG_FILES $all_outputs" ;; "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; "auto-host.h" ) CONFIG_HEADERS="$CONFIG_HEADERS auto-host.h:config.in" ;; @@ -16608,6 +17687,7 @@ s,@target_cpu@,$target_cpu,;t t s,@target_vendor@,$target_vendor,;t t s,@target_os@,$target_os,;t t s,@target_noncanonical@,$target_noncanonical,;t t +s,@build_libsubdir@,$build_libsubdir,;t t s,@build_subdir@,$build_subdir,;t t s,@host_subdir@,$host_subdir,;t t s,@target_subdir@,$target_subdir,;t t @@ -16623,9 +17703,10 @@ s,@NO_MINUS_C_MINUS_O@,$NO_MINUS_C_MINUS_O,;t t s,@OUTPUT_OPTION@,$OUTPUT_OPTION,;t t s,@CPP@,$CPP,;t t s,@EGREP@,$EGREP,;t t -s,@strict1_warn@,$strict1_warn,;t t +s,@loose_warn@,$loose_warn,;t t +s,@cxx_compat_warn@,$cxx_compat_warn,;t t +s,@strict_warn@,$strict_warn,;t t s,@warn_cflags@,$warn_cflags,;t t -s,@WERROR@,$WERROR,;t t s,@nocommon_flag@,$nocommon_flag,;t t s,@TREEBROWSER@,$TREEBROWSER,;t t s,@valgrind_path@,$valgrind_path,;t t @@ -16633,11 +17714,15 @@ s,@valgrind_path_defines@,$valgrind_path_defines,;t t s,@valgrind_command@,$valgrind_command,;t t s,@coverage_flags@,$coverage_flags,;t t s,@enable_multilib@,$enable_multilib,;t t +s,@enable_decimal_float@,$enable_decimal_float,;t t s,@enable_shared@,$enable_shared,;t t s,@TARGET_SYSTEM_ROOT@,$TARGET_SYSTEM_ROOT,;t t s,@TARGET_SYSTEM_ROOT_DEFINE@,$TARGET_SYSTEM_ROOT_DEFINE,;t t s,@CROSS_SYSTEM_HEADER_DIR@,$CROSS_SYSTEM_HEADER_DIR,;t t s,@onestep@,$onestep,;t t +s,@datarootdir@,$datarootdir,;t t +s,@docdir@,$docdir,;t t +s,@htmldir@,$htmldir,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@AWK@,$AWK,;t t s,@LN_S@,$LN_S,;t t @@ -16657,7 +17742,6 @@ s,@FLEX@,$FLEX,;t t s,@BISON@,$BISON,;t t s,@NM@,$NM,;t t s,@AR@,$AR,;t t -s,@stage1_cflags@,$stage1_cflags,;t t s,@COLLECT2_LIBS@,$COLLECT2_LIBS,;t t s,@GNAT_LIBEXC@,$GNAT_LIBEXC,;t t s,@LDEXP_LIB@,$LDEXP_LIB,;t t @@ -16678,6 +17762,10 @@ s,@XGETTEXT@,$XGETTEXT,;t t s,@GMSGFMT@,$GMSGFMT,;t t s,@POSUB@,$POSUB,;t t s,@CATALOGS@,$CATALOGS,;t t +s,@DATADIRNAME@,$DATADIRNAME,;t t +s,@INSTOBJEXT@,$INSTOBJEXT,;t t +s,@GENCAT@,$GENCAT,;t t +s,@CATOBJEXT@,$CATOBJEXT,;t t s,@host_cc_for_libada@,$host_cc_for_libada,;t t s,@CROSS@,$CROSS,;t t s,@ALL@,$ALL,;t t @@ -16694,6 +17782,7 @@ s,@gcc_cv_ld@,$gcc_cv_ld,;t t s,@ORIGINAL_LD_FOR_TARGET@,$ORIGINAL_LD_FOR_TARGET,;t t s,@gcc_cv_nm@,$gcc_cv_nm,;t t s,@ORIGINAL_NM_FOR_TARGET@,$ORIGINAL_NM_FOR_TARGET,;t t +s,@gcc_cv_objdump@,$gcc_cv_objdump,;t t s,@libgcc_visibility@,$libgcc_visibility,;t t s,@GGC@,$GGC,;t t s,@zlibdir@,$zlibdir,;t t @@ -16705,23 +17794,18 @@ s,@slibdir@,$slibdir,;t t s,@objdir@,$objdir,;t t s,@subdirs@,$subdirs,;t t s,@srcdir@,$srcdir,;t t -s,@all_boot_languages@,$all_boot_languages,;t t s,@all_compilers@,$all_compilers,;t t s,@all_gtfiles@,$all_gtfiles,;t t -s,@all_gtfiles_files_langs@,$all_gtfiles_files_langs,;t t -s,@all_gtfiles_files_files@,$all_gtfiles_files_files,;t t s,@all_lang_makefrags@,$all_lang_makefrags,;t t s,@all_lang_makefiles@,$all_lang_makefiles,;t t s,@all_languages@,$all_languages,;t t -s,@all_stagestuff@,$all_stagestuff,;t t +s,@all_selected_languages@,$all_selected_languages,;t t s,@build_exeext@,$build_exeext,;t t s,@build_install_headers_dir@,$build_install_headers_dir,;t t s,@build_xm_file_list@,$build_xm_file_list,;t t s,@build_xm_include_list@,$build_xm_include_list,;t t s,@build_xm_defines@,$build_xm_defines,;t t s,@check_languages@,$check_languages,;t t -s,@cc_set_by_configure@,$cc_set_by_configure,;t t -s,@quoted_cc_set_by_configure@,$quoted_cc_set_by_configure,;t t s,@cpp_install_dir@,$cpp_install_dir,;t t s,@xmake_file@,$xmake_file,;t t s,@tmake_file@,$tmake_file,;t t @@ -16734,7 +17818,6 @@ s,@extra_programs@,$extra_programs,;t t s,@float_h_file@,$float_h_file,;t t s,@gcc_config_arguments@,$gcc_config_arguments,;t t s,@gcc_gxx_include_dir@,$gcc_gxx_include_dir,;t t -s,@libstdcxx_incdir@,$libstdcxx_incdir,;t t s,@host_exeext@,$host_exeext,;t t s,@host_xm_file_list@,$host_xm_file_list,;t t s,@host_xm_include_list@,$host_xm_include_list,;t t @@ -16749,8 +17832,6 @@ s,@md_file@,$md_file,;t t s,@objc_boehm_gc@,$objc_boehm_gc,;t t s,@out_file@,$out_file,;t t s,@out_object_file@,$out_object_file,;t t -s,@stage_prefix_set_by_configure@,$stage_prefix_set_by_configure,;t t -s,@quoted_stage_prefix_set_by_configure@,$quoted_stage_prefix_set_by_configure,;t t s,@thread_file@,$thread_file,;t t s,@tm_file_list@,$tm_file_list,;t t s,@tm_include_list@,$tm_include_list,;t t @@ -17000,6 +18081,12 @@ s,@abs_top_builddir@,$ac_abs_top_builddir,;t t rm -f $tmp/out fi + # Run the commands associated with the file. + case $ac_file in + as ) chmod +x as ;; + collect-ld ) chmod +x collect-ld ;; + nm ) chmod +x nm ;; + esac done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF @@ -17349,26 +18436,6 @@ for d in $subdirs doc build do test -d $d || mkdir $d done -# If the host supports symlinks, point stage[1234] at ../stage[1234] so -# bootstrapping and the installation procedure can still use -# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks, -# FLAGS_TO_PASS has been modified to solve the problem there. -# This is virtually a duplicate of what happens in configure.lang; we do -# an extra check to make sure this only happens if ln -s can be used. -case "$LN_S" in - *-s*) - for d in ${subdirs} ; do - STARTDIR=`${PWDCMD-pwd}` - cd $d - for t in stage1 stage2 stage3 stage4 stageprofile stagefeedback include - do - rm -f $t - $LN_S ../$t $t 2>/dev/null - done - cd $STARTDIR - done - ;; -esac ;; esac done