aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2014-09-19 08:11:55 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2014-09-19 08:11:55 +0000
commit3a8fe7c66071360f038334bca1bf9fd06d93ea03 (patch)
tree6eb129555ae6869f99f7f03854fea58754c1b9dc /gcc
parentc3b4b410ae57324d31039b75f0f4ab7657e58161 (diff)
downloadgcc-3a8fe7c66071360f038334bca1bf9fd06d93ea03.zip
gcc-3a8fe7c66071360f038334bca1bf9fd06d93ea03.tar.gz
gcc-3a8fe7c66071360f038334bca1bf9fd06d93ea03.tar.bz2
config.gcc (powerpc-wrs-vxworksmils): New configuration.
2014-09-18 Olivier Hainque <hainque@adacore.com> gcc/ * config.gcc (powerpc-wrs-vxworksmils): New configuration. * config/rs6000/t-vxworksmils: New file. * config/rs6000/vxworksmils.h: New file. libgcc/ * config.host (powerpc-wrs-vxworksmils): New configuration, same as vxworksae. contrib/ * config-list.mk (LIST): Add powerpc-wrs-vxworksmils. From-SVN: r215377
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config.gcc6
-rw-r--r--gcc/config/rs6000/t-vxworksmils10
-rw-r--r--gcc/config/rs6000/vxworksmils.h29
4 files changed, 50 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 050120a..8892f64 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2014-09-19 Olivier Hainque <hainque@adacore.com>
+ * config.gcc (powerpc-wrs-vxworksmils): New configuration.
+ * config/rs6000/t-vxworksmils: New file.
+ * config/rs6000/vxworksmils.h: New file.
+
+2014-09-19 Olivier Hainque <hainque@adacore.com>
+
* varasm.c (default_section_type_flags): Flag .persistent.bss
sections as SECTION_BSS.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index caafa7e..0b8d771 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2315,12 +2315,16 @@ powerpc*-*-linux*)
tm_file="rs6000/secureplt.h ${tm_file}"
fi
;;
-powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
+powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
tm_file="${tm_file} elfos.h freebsd-spec.h rs6000/sysv4.h"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm rs6000/t-vxworks"
extra_options="${extra_options} rs6000/sysv4.opt"
extra_headers=ppc-asm.h
case ${target} in
+ *-vxworksmils*)
+ tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksmils.h"
+ tmake_file="${tmake_file} rs6000/t-vxworksmils"
+ ;;
*-vxworksae*)
tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/e500.h rs6000/vxworksae.h"
tmake_file="${tmake_file} rs6000/t-vxworksae"
diff --git a/gcc/config/rs6000/t-vxworksmils b/gcc/config/rs6000/t-vxworksmils
new file mode 100644
index 0000000..788069e
--- /dev/null
+++ b/gcc/config/rs6000/t-vxworksmils
@@ -0,0 +1,10 @@
+# Multilibs for VxWorks MILS.
+
+MULTILIB_OPTIONS = msoft-float
+MULTILIB_MATCHES =
+MULTILIB_EXCEPTIONS =
+
+# Mils provides headers for the vthreads environment only, so we force
+# that option on all the variants:
+
+TCFLAGS += -mvthreads
diff --git a/gcc/config/rs6000/vxworksmils.h b/gcc/config/rs6000/vxworksmils.h
new file mode 100644
index 0000000..d1cd8d7
--- /dev/null
+++ b/gcc/config/rs6000/vxworksmils.h
@@ -0,0 +1,29 @@
+/* PowerPC VxWorks MILS target definitions for GNU compiler. Overrides
+ on top of the canonical VxWorks definitions.
+
+ Copyright (C) 2014 Free Software Foundation, Inc.
+
+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 3, 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 COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+/* This platform supports the probing method of stack checking and
+ requires 4K of space for executing a possible last chance handler. */
+#undef STACK_CHECK_PROTECT
+#define STACK_CHECK_PROTECT 4096
+
+/* VxWorksMILS for E500V2 expects a specific CPU value to designate 8548. */
+#undef VXCPU_FOR_8548
+#define VXCPU_FOR_8548 "PPC85XX"