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