diff --git a/config/ChangeLog b/config/ChangeLog
index bbde1fcb80d92031461f7881593951bd79fd99ae..6fdf36cb691b497ae9af85f56e7121919c4569b4 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/45524
+	* dfp.m4: Don't set enable_decimal_float to dpd if DFP is
+	disabled.  Set default_decimal_float.
+
 2010-09-06  Andreas Schwab  <schwab@redhat.com>
 
 	* dfp.m4: Quote argument of AC_MSG_WARN.
diff --git a/config/dfp.m4 b/config/dfp.m4
index 3b7de7043ab3f3c5aba18856a18d07e57eeec24c..d5dbaf59b3b3638dd0583e45195b2958f8d245a6 100644
--- a/config/dfp.m4
+++ b/config/dfp.m4
@@ -13,7 +13,7 @@ AC_ARG_ENABLE(decimal-float,
 			to use],
 [
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
   esac
@@ -41,13 +41,14 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    default_decimal_float=dpd
     ;;
 esac
 AC_SUBST(enable_decimal_float)
 
-])
\ No newline at end of file
+])
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 18893e72a5e97bda05655cc4b30493b6dfad02d6..4ae341895a4a1232ce7cd3408d616373d446ef54 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/45524
+	* configure.ac (enable_decimal_float): Set to
+	$default_decimal_float.
+	* configure: Regenerated.
+
 2010-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
 	* combine.c (try_combine): Set subst_low_luid to i0.
diff --git a/gcc/configure b/gcc/configure
index a59420da250c94ae063c12fda3a7720d94fea3b7..240a8765b7979d019f2ebef9e53b9836fb2181e2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -6654,7 +6654,7 @@ fi
 if test "${enable_decimal_float+set}" = set; then :
   enableval=$enable_decimal_float;
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) as_fn_error "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;;
   esac
@@ -6686,11 +6686,12 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    default_decimal_float=dpd
     ;;
 esac
 
@@ -6704,6 +6705,9 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 bid=`if test $enable_decimal_float = bid; then echo 1; else echo 0; fi`
 
 cat >>confdefs.h <<_ACEOF
@@ -17133,7 +17137,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17136 "configure"
+#line 17140 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17239,7 +17243,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17242 "configure"
+#line 17246 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 101e84c9f6dcc5baa15d3f55ae7fd99c3e530361..75cded6c79138e90c2c0b85eea635a2b2add18e8 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -612,6 +612,9 @@ dfp=`if test $enable_decimal_float != no; then echo 1; else echo 0; fi`
 AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_FLOAT, $dfp,
 [Define to 1 to enable decimal float extension to C.])
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 bid=`if test $enable_decimal_float = bid; then echo 1; else echo 0; fi`
 AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_BID_FORMAT, $bid,
 [Define to 1 to specify that we are using the BID decimal floating
diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 351c251ef3ff77eb5baaf4cb1110aa9f433a1fe9..2690ea5b0ab14eb0bddca4a2f14febaa2d3177f3 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,10 @@
+2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/45524
+	* configure.ac (enable_decimal_float): Set to
+	$default_decimal_float.
+	* configure: Regenerated.
+
 2010-09-06  Andreas Schwab  <schwab@redhat.com>
 
 	* configure: Regenerate.
diff --git a/libdecnumber/configure b/libdecnumber/configure
index 134c25745633f04800913ae92d4473444a2accb5..f94f68081906b1660982cee772fca5781bd5c4a0 100755
--- a/libdecnumber/configure
+++ b/libdecnumber/configure
@@ -4594,7 +4594,7 @@ $as_echo_n "checking for decimal floating point... " >&6; }
 if test "${enable_decimal_float+set}" = set; then :
   enableval=$enable_decimal_float;
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) as_fn_error "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;;
   esac
@@ -4626,17 +4626,21 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    default_decimal_float=dpd
     ;;
 esac
 
 
 
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 # If BID is being used, additional objects should be linked in.
 if test x$enable_decimal_float = xbid; then
   ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(bid_OBJS)"
diff --git a/libdecnumber/configure.ac b/libdecnumber/configure.ac
index a4cbf55f1a4486ea5d810a9e6c3cb894c62dc32d..87820bf22055a0c11bd6cab03664ceeff8245529 100644
--- a/libdecnumber/configure.ac
+++ b/libdecnumber/configure.ac
@@ -78,6 +78,9 @@ AC_MSG_CHECKING([for decimal floating point])
 
 GCC_AC_ENABLE_DECIMAL_FLOAT([$target])
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 # If BID is being used, additional objects should be linked in.
 if test x$enable_decimal_float = xbid; then
   ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(bid_OBJS)"
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 8cafd6fec3381c71bc305cd992e9eed11062732a..aa5a736e42ed55a1869d5f66bf51da822593d0d5 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/45524
+	* configure: Regenerated.
+
 2010-09-06  Andreas Schwab  <schwab@redhat.com>
 
 	* configure: Regenerate.
diff --git a/libgcc/configure b/libgcc/configure
index c1a76ee1557068e64c83a529456e1970fbe79ab9..1649e14312b015774b054d525b33054b91a7714b 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -3639,7 +3639,7 @@ decimal_float=$libgcc_cv_dfp
 if test "${enable_decimal_float+set}" = set; then :
   enableval=$enable_decimal_float;
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) as_fn_error "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;;
   esac
@@ -3671,11 +3671,12 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    default_decimal_float=dpd
     ;;
 esac