PDOS

[uia] / trunk / uia / vx32 / patch-gcc-4.0.0  

View of /trunk/uia/vx32/patch-gcc-4.0.0

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2009 - (download) (annotate)
Thu Apr 5 17:19:47 2007 UTC (2 years, 7 months ago) by baford
File size: 3519 byte(s)
Copy old working vx32 version from vxa-060115 tag.
diff -urN gcc-4.0.0/config.sub gcc-4.0.0-vx32/config.sub
--- gcc-4.0.0/config.sub	2005-01-18 02:20:48.000000000 +0100
+++ gcc-4.0.0-vx32/config.sub	2005-07-04 16:21:13.000000000 +0200
@@ -1013,6 +1013,10 @@
 	vpp*|vx|vx-*)
 		basic_machine=f301-fujitsu
 		;;
+	vx32)
+		basic_machine=i686-pc
+		os=-vx32
+		;;
 	vxworks960)
 		basic_machine=i960-wrs
 		os=-vxworks
@@ -1178,7 +1182,7 @@
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -vx32*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
diff -urN gcc-4.0.0/gcc/config/i386/i386.c gcc-4.0.0-vx32/gcc/config/i386/i386.c
--- gcc-4.0.0/gcc/config/i386/i386.c	2005-04-09 19:15:26.000000000 +0200
+++ gcc-4.0.0-vx32/gcc/config/i386/i386.c	2005-07-04 17:00:44.000000000 +0200
@@ -1520,7 +1520,10 @@
      }
   else
     {
-      ix86_fpmath = FPMATH_387;
+      if (TARGET_SSE && !TARGET_80387)
+        ix86_fpmath = FPMATH_SSE;
+      else
+        ix86_fpmath = FPMATH_387;
       /* i386 ABI does not specify red zone.  It still makes sense to use it
          when programmer takes care to stack from being destroyed.  */
       if (!(target_flags_explicit & MASK_NO_RED_ZONE))
diff -urN gcc-4.0.0/gcc/config/i386/vx32.h gcc-4.0.0-vx32/gcc/config/i386/vx32.h
--- gcc-4.0.0/gcc/config/i386/vx32.h	1970-01-01 01:00:00.000000000 +0100
+++ gcc-4.0.0-vx32/gcc/config/i386/vx32.h	2005-07-04 16:42:20.000000000 +0200
@@ -0,0 +1,34 @@
+/* Target definitions for GCC for vx32 virtual machine using ELF
+   Copyright (C) 1988, 1991, 1995, 2000, 2001, 2002
+   Free Software Foundation, Inc.
+
+   Derived from sysv4.h written by Ron Guilmette (rfg@netcom.com).
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* These definitions modify those in i386elf.h. */
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (vx32)");
+
+/* By default, target has no 80387 but _does_ have SSE2. */
+
+#undef TARGET_SUBTARGET_DEFAULT
+#define TARGET_SUBTARGET_DEFAULT (MASK_IEEE_FP | MASK_SSE | MASK_SSE2)
+
+
diff -urN gcc-4.0.0/gcc/config.gcc gcc-4.0.0-vx32/gcc/config.gcc
--- gcc-4.0.0/gcc/config.gcc	2005-03-31 05:17:08.000000000 +0200
+++ gcc-4.0.0-vx32/gcc/config.gcc	2005-07-04 16:30:28.000000000 +0200
@@ -1122,6 +1122,11 @@
 	extra_parts="crtbegin.o crtend.o"
 	use_fixproto=yes
 	;;
+i[34567]86-*-vx32*)
+	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/vx32.h"
+	tmake_file="i386/t-i386elf t-svr4"
+	use_fixproto=yes
+	;;
 i[4567]86-wrs-vxworks)
 	tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/vxworks.h"
 	tmake_file="${tmake_file} i386/t-vxworks"

Maintained by PDOS
ViewVC Help
Powered by ViewVC 1.0.3