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