Commit: RX: Fix problems building libgcc

Nick Clifton nickc@redhat.com
Wed Sep 28 14:46:00 GMT 2011


Hi Guys,

  I am applying the patch below to fix a couple of problems building
  libgcc for the RX target.  The first is that when 32-bit doubles are
  enabled we need to make sure that we never try to construct a 64-bit
  double type.  This is done in rx-lib.h, but it was only being enabled
  when constructing the float-type functions.  The patch enables the fix
  for when double-type functions are being constructed as well.

  The second fix is to prevent a extraneous renaming of the floatsisf
  and floatunsisf functions when building libgcc width 32-bit doubles
  enabled.

Cheers
  Nick

libgcc/ChangeLog
2011-09-28  Nick Clifton  <nickc@redhat.com>

	* config/rx/rx-lib.h: Always restrict doubles to the SF type when
	64-bit doubles are not enabled.
	* config/rx/rx-abi.h: Fix extraneous renaming of the floatsisf
	and floatunsisf functions.

Index: libgcc/config/rx/rx-lib.h
===================================================================
--- libgcc/config/rx/rx-lib.h	(revision 179307)
+++ libgcc/config/rx/rx-lib.h	(working copy)
@@ -1,6 +1,5 @@
-#ifdef FLOAT
 #ifndef __RX_64BIT_DOUBLES__
 #define DF SF
 #define FLOAT_ONLY
 #endif
-#endif
+
Index: libgcc/config/rx/rx-abi.h
===================================================================
--- libgcc/config/rx/rx-abi.h	(revision 179307)
+++ libgcc/config/rx/rx-abi.h	(working copy)
@@ -80,16 +80,7 @@
 #endif
 
 
-#ifdef L_si_to_sf
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatsisf, CONV32sf)
-#endif
 
-#ifdef L_usi_to_sf
-#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatunsisf, CONV32uf)
-#endif
-
-
-
 #ifdef __RX_64BIT_DOUBLES__
 
 /* Float (32-bit) aliases...  */
@@ -176,6 +167,14 @@
 #define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (negdf2, NEGd)
 #endif
 
+#ifdef L_si_to_sf
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatsisf, CONV32sf)
+#endif
+
+#ifdef L_usi_to_sf
+#define DECLARE_LIBRARY_RENAMES RENAME_LIBRARY (floatunsisf, CONV32uf)
+#endif
+
 /* The 64-bit comparison functions do not have aliases because libgcc2
    does not provide them.  Instead they have to be supplied in
    rx-abi-functions.c.  */



More information about the Gcc-patches mailing list