PDOS

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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2013 - (download) (annotate)
Wed Apr 11 21:41:39 2007 UTC (2 years, 7 months ago) by baford
File size: 3908 byte(s)
Got it at least compiling on Mac OS X.
In the process fixed a problem with the gcc-4.1.2 patch,
which caused the cross-compiler to default to soft floating point
instead of SSE-based hard floating point.
diff -urN gcc-4.1.2/config.sub gcc-4.1.2-vx32/config.sub
--- gcc-4.1.2/config.sub	2005-12-16 07:57:40.000000000 -0500
+++ gcc-4.1.2-vx32/config.sub	2007-04-11 09:36:33.000000000 -0400
@@ -1039,6 +1039,10 @@
 	vpp*|vx|vx-*)
 		basic_machine=f301-fujitsu
 		;;
+	vx32)
+		basic_machine=i686-pc
+		os=-vx32
+		;;
 	vxworks960)
 		basic_machine=i960-wrs
 		os=-vxworks
@@ -1202,7 +1206,7 @@
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku*)
+	      | -skyos* | -haiku* | -vx32*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
diff -urN gcc-4.1.2/configure gcc-4.1.2-vx32/configure
--- gcc-4.1.2/configure	2006-11-21 12:48:36.000000000 -0500
+++ gcc-4.1.2-vx32/configure	2007-04-11 09:59:11.000000000 -0400
@@ -1448,6 +1448,9 @@
   i[3456789]86-*-beos*)
     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
     ;;
+  i[3456789]86-*-vx32*)
+    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libssp"
+    ;;
   m32r-*-*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
diff -urN gcc-4.1.2/configure.in gcc-4.1.2-vx32/configure.in
--- gcc-4.1.2/configure.in	2006-11-21 12:48:36.000000000 -0500
+++ gcc-4.1.2-vx32/configure.in	2007-04-11 09:59:22.000000000 -0400
@@ -656,6 +656,9 @@
   i[[3456789]]86-*-beos*)
     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
     ;;
+  i[[3456789]]86-*-vx32*)
+    noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libssp"
+    ;;
   m32r-*-*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
diff -urN gcc-4.1.2/gcc/config/i386/vx32.h gcc-4.1.2-vx32/gcc/config/i386/vx32.h
--- gcc-4.1.2/gcc/config/i386/vx32.h	1969-12-31 19:00:00.000000000 -0500
+++ gcc-4.1.2-vx32/gcc/config/i386/vx32.h	2007-04-11 17:26:26.000000000 -0400
@@ -0,0 +1,36 @@
+/* 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)
+
+/* Always default to SSE-based FP math on vx32. */
+#undef TARGET_FPMATH_DEFAULT
+#define TARGET_FPMATH_DEFAULT FPMATH_SSE
+
diff -urN gcc-4.1.2/gcc/config.gcc gcc-4.1.2-vx32/gcc/config.gcc
--- gcc-4.1.2/gcc/config.gcc	2006-10-15 19:12:23.000000000 -0400
+++ gcc-4.1.2-vx32/gcc/config.gcc	2007-04-05 16:18:00.000000000 -0400
@@ -1199,6 +1199,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|i[4567]86-wrs-vxworksae)
 	tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/att.h vx-common.h"
 	case ${target} in

Maintained by PDOS
ViewVC Help
Powered by ViewVC 1.0.3