Hi Walter,

while playing with the tilegx cross compiler I noticed another defect.

Currently building a tilegx cross compiler fails in libgcc multilib 
configuration,
because of the following static assert in _FP_FROM_INT:

          _FP_STATIC_ASSERT ((rsize) <= 2 * _FP_W_TYPE_SIZE,            \
                             "rsize too large");                        \

previously that macro used to abort at run-time.  This happens apparently in all
float to ti-int conversions in the 32-bit target configuration.  So I assume 
that
softfp_int_modes should only contain ti for 64-bit target configurations.

The following patch makes the multilib libgcc build succeed for me,
but I can not test if the result is actually usable.

Really AFAICT these machines must be pretty cool, but I don't own one...


Thanks
Bernd.
2016-01-01  Bernd Edlinger  <bernd.edlin...@hotmail.de>

	*  config.host (tilegx*-*-linux*): Don't include
	tilegx/t-softfp in 32-bit configurations.

Index: libgcc/config.host
===================================================================
--- libgcc/config.host	(revision 231954)
+++ libgcc/config.host	(working copy)
@@ -1268,7 +1268,11 @@ tic6x-*-elf)
 	unwind_header=config/c6x/unwind-c6x.h
 	;;
 tilegx*-*-linux*)
-	tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf tilegx/t-softfp t-softfp tilegx/t-tilegx"
+	tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf"
+	if test "${host_address}" = 64; then
+		tmake_file="${tmake_file} tilegx/t-softfp"
+	fi
+	tmake_file="${tmake_file} t-softfp tilegx/t-tilegx"
 	md_unwind_header=tilepro/linux-unwind.h
         ;;
 tilepro*-*-linux*)

Reply via email to