------- Comment #7 from rob1weld at aol dot com  2009-02-06 22:29 -------
(In reply to comment #6)
> (In reply to comment #4)
> > Do we support TImode arithmetic on many platforms?, ...
> > I am booted in 32-bit mode (and building multilib).
> 
> 32bit i386 doesn't support TImode.
> 
> TImode soft-fp is disabled in libgcc/config/i386/32/t-fprules-softfp. A change
> in libgcc/conifg.host is needed to correctly filter these functions out on
> your target.

OK.


The file "libgcc/config.host" says this (so I will use it's code):
# This file bears an obvious resemblance to gcc/config.gcc.  The cases
# should be kept similar, to ease moving library-specific settings
# from config.gcc to this file. 


The (patched) section of "config.gcc" is (now) this:

        i[34567]86-*-darwin* | x86_64-*-darwin*)
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp"
                ;;
        i[34567]86-*-linux* | x86_64-*-linux*)
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp i386/t-linux"
                ;;
        i[34567]86-*-solaris2*)
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp"
                ;;


----------
Hmmm, Let me check something ...
# find /usr/share/src/gcc_trunk/ -name t-fprules-softfp
/usr/share/src/gcc_trunk/libgcc/config/i386/32/t-fprules-softfp
/usr/share/src/gcc_trunk/gcc/config/i386/t-fprules-softfp
/usr/share/src/gcc_trunk/gcc/config/rs6000/t-fprules-softfp


The code is broken (or faILs through) in "libgcc/conifg.host" (since we have no
"64" directory):

        # Provide backward binary compatibility for 64bit Linux/x86.
        if test "${host_address}" = 64; then
                tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
        fi
----------


I am going to add this to the _end_ of "libgcc/config.host" :

case ${host} in
i[34567]86-*-solaris2*)
        if test "${host_address}" = 32; then
                tmake_file="${tmake_file} t-softfp
i386/${host_address}/t-fprules-softfp"
        else
                tmake_file="${tmake_file} i386/t-fprules-softfp
soft-fp/t-softfp"
                ;;

        fi
        ;;
esac



Building now, seems to build without breaking (thus far).
I will keep you informed and report back with the Testsuite.

Thanks,
Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39048

Reply via email to