aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1996-08-19 22:41:22 +0000
committerDoug Evans <dje@gnu.org>1996-08-19 22:41:22 +0000
commit472b8162e3e745ebc1a2805fbd58a4a48cd4cf09 (patch)
tree8c0ad00fcf9267a3cb45c4c37f87ecca8229a391
parent62f1c6492fd8177d0ade0b7846a29d2aa2e619ee (diff)
downloadgcc-472b8162e3e745ebc1a2805fbd58a4a48cd4cf09.zip
gcc-472b8162e3e745ebc1a2805fbd58a4a48cd4cf09.tar.gz
gcc-472b8162e3e745ebc1a2805fbd58a4a48cd4cf09.tar.bz2
sp64-elf.h ({CPP,ASM,LINK}_SPEC): Add little endian support.
* sparc/sp64-elf.h ({CPP,ASM,LINK}_SPEC): Add little endian support. (SUBTARGET_SWITCHES): Recognize -m{big,little}-endian. ({BYTES,WORDS}_BIG_ENDIAN): Likewise. From-SVN: r12661
-rw-r--r--gcc/config/sparc/sp64-elf.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/config/sparc/sp64-elf.h b/gcc/config/sparc/sp64-elf.h
index fcc7275..f0a36e6 100644
--- a/gcc/config/sparc/sp64-elf.h
+++ b/gcc/config/sparc/sp64-elf.h
@@ -55,6 +55,7 @@ Boston, MA 02111-1307, USA. */
#define CPP_SPEC "\
%{mint64:-D__INT_MAX__=9223372036854775807LL -D__LONG_MAX__=9223372036854775807LL} \
%{mlong64:-D__LONG_MAX__=9223372036854775807LL} \
+%{mlittle-endian:-D__LITTLE_ENDIAN__} \
"
#undef MD_EXEC_PREFIX
@@ -63,12 +64,14 @@ Boston, MA 02111-1307, USA. */
#undef ASM_SPEC
#define ASM_SPEC "\
%{v:-V} -s %{fpic:-K PIC} %{fPIC:-K PIC} \
+%{mlittle-endian:-EL} \
"
/* This is taken from sol2.h. */
#undef LINK_SPEC
#define LINK_SPEC "\
%{v:-V} \
+%{mlittle-endian:-EL} \
"
/* We need something a little simpler for the embedded environment.
@@ -85,6 +88,18 @@ crtbegin.o%s \
/* Use the default (for now). */
#undef LIB_SPEC
+/* V9 chips can handle either endianness. */
+#undef SUBTARGET_SWITCHES
+#define SUBTARGET_SWITCHES \
+{"big-endian", -MASK_LITTLE_ENDIAN}, \
+{"little-endian", MASK_LITTLE_ENDIAN},
+
+#undef BYTES_BIG_ENDIAN
+#define BYTES_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN)
+
+#undef WORDS_BIG_ENDIAN
+#define WORDS_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN)
+
/* Unfortunately, svr4.h redefines these so we have to restore them to
their original values in sparc.h. */
/* ??? It might be possible to eventually get svr4.h to do the right thing. */