diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 0d7765ea189..d2d6d5947ec 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-23  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
+	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
+
 2010-09-10  Kai Tietz  <kai.tietz@onevision.com>
 
        * configure: Regenerated.
diff --git a/libdecnumber/dconfig.h b/libdecnumber/dconfig.h
index 91aa3341c6c..26b963c9480 100644
--- a/libdecnumber/dconfig.h
+++ b/libdecnumber/dconfig.h
@@ -28,12 +28,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #include "coretypes.h"
 #include "tm.h"
 
-#ifndef LIBGCC2_WORDS_BIG_ENDIAN
-#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN
-#endif
-
 #ifndef LIBGCC2_FLOAT_WORDS_BIG_ENDIAN
-#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN LIBGCC2_WORDS_BIG_ENDIAN
+#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN \
+  (__BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__)
 #endif
 
 #if LIBGCC2_FLOAT_WORDS_BIG_ENDIAN