Port-newsmips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
egcs patch for mipseb support
Hi,
Currently, egcs in our gnusrc tree does not support mipseb target,
and I'm using the attached patch for newsmips.
This patch contains the following changes:
- add macros for mipseb to gnu/dist/gcc/config/mips/netbsd.h and
switch mipsel/mipseb by -DTARGET_WORDS_BIG_ENDIAN definition
- add -DTARGET_WORDS_BIG_ENDIAN to CPPFLAGS in
gnu/usr.bin/egcs/Makefile.inc if MACHINE_ARCH=="mipseb"
and more changes to build on dist/gcc:
- add mipseb target to dist/gcc/config.sub
- add mipseb-netbsd target to dist/gcc/configure{.in,}
- add dist/gcc/config/mips/t-mipseb to tmake_file to define
TARGET_WORDS_BIG_ENDIAN
- set xmake_file=none to avoid to include config/mips/xm-mips.h
(-DTARGET_BIG_ENDIAN is already used in config/mips/mips.h,
and gcc/config/mips/xm-mips.h defines HOST_WORDS_BIG_ENDIAN
on mipseb machines.)
If nobody objects, I would like to commit this.
Comments?
---
Izumi Tsutsui
tsutsui%ceres.dti.ne.jp@localhost
--- gnu/dist/gcc/config.sub Mon Aug 17 02:36:45 1998
+++ /usr/src/gnu/dist/gcc/config.sub Tue Feb 8 22:39:24 2000
@@ -154,7 +154,7 @@
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
- | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
+ | mips64 | mipsel | mipseb | mips64el | mips64orion |
mips64orionel \
| mipstx39 | mipstx39el \
| sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown
@@ -182,7 +182,7 @@
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
- | sparc64-* | mips64-* | mipsel-* \
+ | sparc64-* | mips64-* | mipsel-* | mipseb-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mipstx39-* | mipstx39el-* \
| f301-*)
--- gnu/dist/gcc/configure.in Thu May 27 23:45:00 1999
+++ /usr/src/gnu/dist/gcc/configure.in Fri Feb 11 00:08:31 2000
@@ -2013,6 +2013,15 @@
# On NetBSD, the headers are already okay, except for math.h.
fixincludes=fixinc.wrap
tmake_file=t-netbsd
+ xmake_file=none
+ ;;
+ mipseb-*-netbsd*)
+ tm_file=mips/netbsd.h
+ xm_file=mips/xm-netbsd.h
+ # On NetBSD, the headers are already okay, except for math.h.
+ fixincludes=fixinc.wrap
+ tmake_file="t-netbsd mips/t-mipseb"
+ xmake_file=none
;;
mips*el-*-openbsd*) # mips little endian
target_cpu_default="MASK_GAS|MASK_ABICALLS"
@@ -2408,6 +2417,7 @@
# On NetBSD, the headers are already okay, except for math.h.
fixincludes=fixinc.wrap
tmake_file=t-netbsd
+ xmake_file=none
;;
powerpc-*-eabiaix*)
tm_file=rs6000/eabiaix.h
--- gnu/dist/gcc/configure Thu May 27 23:45:00 1999
+++ /usr/src/gnu/dist/gcc/configure Mon Feb 7 17:43:36 2000
@@ -3992,6 +3992,15 @@
# On NetBSD, the headers are already okay, except for math.h.
fixincludes=fixinc.wrap
tmake_file=t-netbsd
+ xmake_file=none
+ ;;
+ mipseb-*-netbsd*)
+ tm_file=mips/netbsd.h
+ xm_file=mips/xm-netbsd.h
+ # On NetBSD, the headers are already okay, except for math.h.
+ fixincludes=fixinc.wrap
+ tmake_file="t-netbsd mips/t-mipseb"
+ xmake_file=none
;;
mips*el-*-openbsd*) # mips little endian
target_cpu_default="MASK_GAS|MASK_ABICALLS"
@@ -4387,6 +4396,7 @@
# On NetBSD, the headers are already okay, except for math.h.
fixincludes=fixinc.wrap
tmake_file=t-netbsd
+ xmake_file=none
;;
powerpc-*-eabiaix*)
tm_file=rs6000/eabiaix.h
--- gnu/dist/gcc/config/mips/netbsd.h Wed Sep 29 22:19:13 1999
+++ /usr/src/gnu/dist/gcc/config/mips/netbsd.h Fri Feb 11 00:25:46 2000
@@ -20,7 +20,11 @@
/* Define default target values. */
+#ifdef TARGET_WORDS_BIG_ENDIAN
+#define TARGET_ENDIAN_DEFAULT MASK_BIG_ENDIAN
+#else
#define TARGET_ENDIAN_DEFAULT 0
+#endif
#define TARGET_DEFAULT MASK_GAS
#ifdef hpcmips /* XXX should use distinct target name -uch */
@@ -45,10 +49,17 @@
/* Define mips-specific netbsd predefines... */
#undef CPP_PREDEFINES
+#ifdef TARGET_WORDS_BIG_ENDIAN
+#define CPP_PREDEFINES \
+ "-D__ANSI_COMPAT -DMIPSEB -DR3000 -DSYSTYPE_BSD -D_SYSTYPE_BSD \
+ -D__NetBSD__ -D__ELF__ -Dmips -D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \
+ -D_R3000 -Asystem(unix) -Asystem(NetBSD) -Amachine(mips)"
+#else
#define CPP_PREDEFINES \
"-D__ANSI_COMPAT -DMIPSEL -DR3000 -DSYSTYPE_BSD -D_SYSTYPE_BSD \
-D__NetBSD__ -D__ELF__ -Dmips -D__NO_LEADING_UNDERSCORES__ -D__GP_SUPPORT__ \
-D_R3000 -Asystem(unix) -Asystem(NetBSD) -Amachine(mips)"
+#endif
/* Always uses gas. */
--- gnu/usr.bin/egcs/Makefile.inc Sun Oct 10 01:10:19 1999
+++ /usr/src/gnu/usr.bin/egcs/Makefile.inc Wed Feb 9 22:58:51 2000
@@ -44,6 +44,10 @@
CPPFLAGS+=-DDEFAULT_ELF
.endif
+.if ${MACHINE_ARCH} == "mipseb"
+CPPFLAGS+=-DTARGET_WORDS_BIG_ENDIAN
+.endif
+
.if (${MACHINE} == "hpcmips") # XXX
CPPFLAGS+=-D${MACHINE}
HOST_CPPFLAGS += -D${MACHINE}
--- /dev/null Thu Feb 10 03:41:03 2000
+++ /usr/src/gnu/dist/gcc/config/mips/t-mipseb Wed Feb 9 23:00:31 2000
@@ -0,0 +1 @@
+T_CFLAGS +=-DTARGET_WORDS_BIG_ENDIAN
Home |
Main Index |
Thread Index |
Old Index