diff options
-rw-r--r-- | gold/ChangeLog | 6 | ||||
-rwxr-xr-x | gold/configure | 27 | ||||
-rw-r--r-- | gold/configure.ac | 14 |
3 files changed, 45 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 345ec62..4e39648 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2009-12-29 Ian Lance Taylor <iant@google.com> + + * configure.ac: Set the MCMODEL_MEDIUM conditional to false if + using a version of gcc before 4.1. + * configure: Rebuild. + 2009-12-28 Chris Demetriou <cgd@google.com> * attributes.cc (Output_attributes_section_data::do_write): Use diff --git a/gold/configure b/gold/configure index 1bb2d3d..4817e44 100755 --- a/gold/configure +++ b/gold/configure @@ -6045,7 +6045,32 @@ else fi - if test "$target_cpu" = "x86_64"; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc >= 4.1" >&5 +$as_echo_n "checking for gcc >= 4.1... " >&6; } +if test "${gold_cv_prog_gcc41+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if !defined __GNUC__ +error +#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) +error +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gold_cv_prog_gcc41=yes +else + gold_cv_prog_gcc41=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gold_cv_prog_gcc41" >&5 +$as_echo "$gold_cv_prog_gcc41" >&6; } + + if test "$target_cpu" = "x86_64" -a "$gold_cv_prog_gcc41" = "yes"; then MCMODEL_MEDIUM_TRUE= MCMODEL_MEDIUM_FALSE='#' else diff --git a/gold/configure.ac b/gold/configure.ac index f279b45..7102670 100644 --- a/gold/configure.ac +++ b/gold/configure.ac @@ -227,8 +227,20 @@ AM_CONDITIONAL(FN_PTRS_IN_SO_WITHOUT_PIC, [ *) true;; esac]) +dnl Test for gcc 4.1 or later. Full support for -mcmodel=medium is +dnl only available in gcc 4.1. +AC_CACHE_CHECK([for gcc >= 4.1], [gold_cv_prog_gcc41], +[AC_COMPILE_IFELSE([ +#if !defined __GNUC__ +error +#elif __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1) +error +#endif +], [gold_cv_prog_gcc41=yes], [gold_cv_prog_gcc41=no])]) + dnl Whether we can test -mcmodel=medium. -AM_CONDITIONAL(MCMODEL_MEDIUM, [test "$target_cpu" = "x86_64"]) +AM_CONDITIONAL(MCMODEL_MEDIUM, +[test "$target_cpu" = "x86_64" -a "$gold_cv_prog_gcc41" = "yes"]) dnl Test for __thread support. AC_CACHE_CHECK([for thread support], [gold_cv_c_thread], |