Patchwork Commit: RX: Fix problems building libgcc

login
register
mail settings
Submitter Nick Clifton
Date Sept. 28, 2011, 1:58 p.m.
Message ID <m3ipockbv7.fsf@redhat.com>
Download mbox | patch
Permalink /patch/116792/
State New
Headers show

Comments

Nick Clifton - Sept. 28, 2011, 1:58 p.m.
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.

Patch

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.  */