diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 245f2a0297f6b620306c0ebbf3d96ec266ad486b..c5ff3589a8f9d5bfa359dd69b4c68b1e6b818713 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-09-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
+	64bit targets.
+	(__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
+	for 64bit targets.
+
 2010-09-03  Uros Bizjak  <ubizjak@gmail.com>
 	    Iain Sandoe  <iains@gcc.gnu.org>
 
diff --git a/libgcc/config/i386/libgcc-sol2.ver b/libgcc/config/i386/libgcc-sol2.ver
index 8d94d3c6178040f9218ccc857a1270491eda6750..26a0abfb541c736ef9b0868632c8d10869a5a68f 100644
--- a/libgcc/config/i386/libgcc-sol2.ver
+++ b/libgcc/config/i386/libgcc-sol2.ver
@@ -59,26 +59,38 @@
 
 GCC_4.5.0 {
   __addtf3
+%ifndef __x86_64__
   __copysigntf3
+%endif
   __divtc3
   __divtf3
   __eqtf2
   __extenddftf2
   __extendsftf2
   __extendxftf2
+%ifndef __x86_64__
   __fabstf2
+%endif
   __fixtfdi
   __fixtfsi
+%ifdef __x86_64__
   __fixtfti
+%endif
   __fixunstfdi
   __fixunstfsi
+%ifdef __x86_64__
   __fixunstfti
+%endif
   __floatditf
   __floatsitf
+%ifdef __x86_64__
   __floattitf
+%endif
   __floatunditf
   __floatunsitf
+%ifdef __x86_64__
   __floatuntitf
+%endif
   __getf2
   __gttf2
   __letf2