Adds the necessary support bits to libgcc. All other mainstream i386/amd64 targets already have this.
Tested on i386-unknown-openbsd5.2 and x86_64-unknown-openbsd5.2. Fixes a couple of testcases. libgcc/: 2012-10-06 Mark Kettenis <kette...@openbsd.org> * config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*): Add to list of i[34567]86-*-* and x86_64-*-* soft-fp targets. gcc/: 2012-10-06 Mark Kettenis <kette...@openbsd.org> * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT) (TF_SIZE): Define. Index: libgcc/config.host =================================================================== --- libgcc/config.host (revision 192154) +++ libgcc/config.host (working copy) @@ -1156,7 +1156,8 @@ i[34567]86-*-gnu* | \ i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \ i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \ - i[34567]86-*-freebsd* | x86_64-*-freebsd*) + i[34567]86-*-freebsd* | x86_64-*-freebsd* | \ + i[34567]86-*-openbsd* | x86_64-*-openbsd*) tmake_file="${tmake_file} t-softfp-tf" if test "${host_address}" = 32; then tmake_file="${tmake_file} i386/${host_address}/t-softfp" Index: gcc/config/i386/openbsdelf.h =================================================================== --- gcc/config/i386/openbsdelf.h (revision 192154) +++ gcc/config/i386/openbsdelf.h (working copy) @@ -111,3 +111,9 @@ #define OBSD_HAS_CORRECT_SPECS #define HAVE_ENABLE_EXECUTE_STACK + +/* Put all *tf routines in libgcc. */ +#undef LIBGCC2_HAS_TF_MODE +#define LIBGCC2_HAS_TF_MODE 1 +#define LIBGCC2_TF_CEXT q +#define TF_SIZE 113