[gold] PATCH: Check if -mcmodel=medium works

H.J. Lu hongjiu.lu@intel.com
Fri Jan 27 22:30:00 GMT 2012


Hi,

-mcmodel=medium isn't suported on x32.  This patch checks to see if
-mcmodel=medium works. OK to install?

Thanks.


H.J.
---
2012-01-27  H.J. Lu  <hongjiu.lu@intel.com>
 
	* configure.ac: Check if -mcmodel=medium works.
	* configure: Regenerated.
 
 2012-01-27  H.J. Lu  <hongjiu.lu@intel.com>
diff --git a/gold/configure b/gold/configure
index 3dddec6..aca7cab 100755
--- a/gold/configure
+++ b/gold/configure
@@ -6312,7 +6312,20 @@ 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
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -mcmodel=medium"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int i;
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  have_mcmodel_medium=yes
+else
+  have_mcmodel_medium=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="$save_CFLAGS"
+ if test "$target_cpu" = "x86_64" -a "$have_mcmodel_medium" = "yes" -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 1b46f4a..e49bf21 100644
--- a/gold/configure.ac
+++ b/gold/configure.ac
@@ -312,9 +312,13 @@ error
 #endif
 ], [gold_cv_prog_gcc41=yes], [gold_cv_prog_gcc41=no])])
 
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -mcmodel=medium"
+AC_COMPILE_IFELSE([int i;], [have_mcmodel_medium=yes], [have_mcmodel_medium=no])
+CFLAGS="$save_CFLAGS"
 dnl Whether we can test -mcmodel=medium.
 AM_CONDITIONAL(MCMODEL_MEDIUM,
-[test "$target_cpu" = "x86_64" -a "$gold_cv_prog_gcc41" = "yes"])
+[test "$target_cpu" = "x86_64" -a "$have_mcmodel_medium" = "yes" -a "$gold_cv_prog_gcc41" = "yes"])
 
 dnl Test for __thread support.
 AC_CACHE_CHECK([for thread support], [gold_cv_c_thread],



More information about the Binutils mailing list