summaryrefslogtreecommitdiff
path: root/gnu/egcs
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2002-03-26 17:51:58 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2002-03-26 17:51:58 +0000
commit5d538a51c84ffef1762579283856d23c7e83e762 (patch)
tree6f0f865bc183831f7473f7ee096d9f08c517c5dd /gnu/egcs
parent27cb6162348f3c20f80e859b67d3f9776f12f829 (diff)
Change the memory model from some home-grown thing that looks to have been
designed for mmu-less systems to something more decent that doesn't conflict with how gcc sometimes generates code. WARNING! This breaks binary compatibility. Reinstall from snapshots. Upgrades won't work! I repeat, upgrades won't work! Reinstall.
Diffstat (limited to 'gnu/egcs')
-rw-r--r--gnu/egcs/gcc/config/sparc/openbsd64.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/gnu/egcs/gcc/config/sparc/openbsd64.h b/gnu/egcs/gcc/config/sparc/openbsd64.h
index 0b4e95080a4..84991872af4 100644
--- a/gnu/egcs/gcc/config/sparc/openbsd64.h
+++ b/gnu/egcs/gcc/config/sparc/openbsd64.h
@@ -30,6 +30,20 @@ Boston, MA 02111-1307, USA. */
#include <openbsd.h>
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (sparc64 OpenBSD ELF)")
+
+/* A 64 but v9 complier in a Medium/Mid code model. */
+
+/* XXX - do we really want HARD_QUAD? */
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT \
+(MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \
+ + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU + MASK_STACK_BIAS)
+
+#undef SPARC_DEFAULT_CMODEL
+#define SPARC_DEFAULT_CMODEL CM_MEDMID
+
/* Run-time target specifications. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-D__unix__ -D__sparc__ -D__sparc64__ -D__sparcv9__ -D__sparc_v9__ -D__arch64__ -D__ELF__ -D__OpenBSD__ -Asystem(unix) -Asystem(OpenBSD) -Acpu(sparc) -Amachine(sparc)"
@@ -37,6 +51,16 @@ Boston, MA 02111-1307, USA. */
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC ""
+#undef MD_EXEC_PREFIX
+#undef MD_STARTFILE_PREFIX
+
+#undef ASM_SPEC
+#define ASM_SPEC "\
+%{v:-V} -s %{fpic:-K PIC} %{fPIC:-K PIC} \
+%{mlittle-endian:-EL} \
+%(asm_cpu) %(asm_arch) \
+"
+
/* Layout of source language data types. */
#undef WCHAR_TYPE
#define WCHAR_TYPE "int"
@@ -44,6 +68,9 @@ Boston, MA 02111-1307, USA. */
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE 32
+#undef LONG_DOUBLE_TYPE_SIZE
+#define LONG_DOUBLE_TYPE_SIZE 128
+
#undef LINK_SPEC
#define LINK_SPEC \
"%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \