From patchwork Sun Oct 7 06:42:13 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Add TF support for OpenBSD/i386 and OpenBSD/amd64 From: Mark Kettenis X-Patchwork-Id: 189791 Message-Id: <201210070642.q976gD9k004830@glazunov.sibelius.xs4all.nl> To: gcc-patches@gcc.gnu.org Date: Sun, 7 Oct 2012 08:42:13 +0200 (CEST) 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 * 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 * 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