On Mon, Aug 30, 2010 at 6:48 PM, Joseph S. Myers <jos...@codesourcery.com> wrote:
>> >> Can you please regression test these two patches on freebsd (32 and 64 >> >> bit)? >> > Tests running... >> >> Looks like a nice improvement, actually. On both this fixes previously >> existing test failures and adds some passes (no changes on the failure >> side on i386). >> >> From all I can tell, please go ahead, Uros. :-) I wonder whether these >> might also be suitable for GCC 4.5? > > Assuming that symbol versioning is enabled on FreeBSD, you need to set > appropriate versions for all the new symbols in libgcc_s - which would be > GCC_4.6.0 for something going on trunk only but GCC_4.5.2 for something > going on 4.5 as well (and with the right %inherit settings in any case). I'm not familiar in versioning stuff, but since soft-fp symbols are part of generic libgcc-std.ver for a long time (before 4.5.0), I believe, it is enough to patch only configure files (see i.e. commits that enabled soft-fp on mingw/cygwin/-gnu*). gcc/ChangeLog: 2010-08-30 Uros Bizjak <ubiz...@gmail.com> * config.gcc: Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for i[34567]86-*-freebsd* and x86_64-*-freebsd*. libgcc/ChangeLog: 2010-08-30 Uros Bizjak <ubiz...@gmail.com> * config.host: Add i386/${host_address}/t-fprules-softfp and t-softfp to tmake_file for i[34567]86-*-freebsd* and x86_64-*-freebsd*. Tested by Gerald. OK for 4.5.2 and mainline? Uros.
Index: gcc/config.gcc =================================================================== --- gcc/config.gcc (revision 163647) +++ gcc/config.gcc (working copy) @@ -3485,6 +3485,9 @@ i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" ;; + i[34567]86-*-freebsd* | x86_64-*-freebsd*) + tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" + ;; ia64*-*-linux*) tmake_file="${tmake_file} ia64/t-fprules-softfp soft-fp/t-softfp" ;; Index: libgcc/config.host =================================================================== --- libgcc/config.host (revision 163647) +++ libgcc/config.host (working copy) @@ -608,7 +608,8 @@ i[34567]86-*-linux* | x86_64-*-linux* | \ i[34567]86-*-gnu* | \ i[34567]86-*-solaris2* | \ - i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) + i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \ + i[34567]86-*-freebsd* | x86_64-*-freebsd*) if test "${host_address}" = 32; then tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp" fi