![]()
| [uia] / trunk / uia / vx32 / patch-gcc-4.1.2 |
Parent Directory
|
Revision Log
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 |