------- 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