summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-19 08:11:55 +0000
committerhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-19 08:11:55 +0000
commit6c352a95f2f5ba43e4d2a24893300f052009ca8f (patch)
tree6eb129555ae6869f99f7f03854fea58754c1b9dc
parentcc3d2217894fb851e72ef197f25f8fcd01b91b7a (diff)
downloadgcc-6c352a95f2f5ba43e4d2a24893300f052009ca8f.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215377 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--contrib/ChangeLog4
-rw-r--r--contrib/config-list.mk3
-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
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config.host2
8 files changed, 62 insertions, 3 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 10bece3f52b..f52a0ab6fee 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,7 @@
+2014-09-19 Olivier Hainque <hainque@adacore.com>
+
+ * config-list.mk (LIST): Add powerpc-wrs-vxworksmils.
+
2014-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* config-list.mk (LIST): Add v850-rtems.
diff --git a/contrib/config-list.mk b/contrib/config-list.mk
index 132b0908287..8ff13396b96 100644
--- a/contrib/config-list.mk
+++ b/contrib/config-list.mk
@@ -56,7 +56,8 @@ LIST = aarch64-elf aarch64-linux-gnu \
powerpc-eabialtivec powerpc-xilinx-eabi powerpc-eabi \
powerpc-rtems powerpc-linux_spe \
powerpc-linux_paired powerpc64-linux_altivec \
- powerpc-wrs-vxworks powerpc-wrs-vxworksae powerpc-lynxos powerpcle-elf \
+ powerpc-wrs-vxworks powerpc-wrs-vxworksae powerpc-wrs-vxworksmils \
+ powerpc-lynxos powerpcle-elf \
powerpcle-eabisim powerpcle-eabi rs6000-ibm-aix4.3 rs6000-ibm-aix5.1.0 \
rs6000-ibm-aix5.2.0 rs6000-ibm-aix5.3.0 rs6000-ibm-aix6.0 \
rl78-elf rx-elf s390-linux-gnu s390x-linux-gnu s390x-ibm-tpf sh-elf \
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 050120a4c65..8892f64fbbc 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 caafa7e20f7..0b8d7716eb4 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 00000000000..788069ed6dd
--- /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 00000000000..d1cd8d7ef70
--- /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"
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 3673651497f..ca0f530796c 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-19 Olivier Hainque <hainque@adacore.com>
+
+ * config.host (powerpc-wrs-vxworksmils): New configuration,
+ same as vxworksae.
+
2014-09-18 Joseph Myers <joseph@codesourcery.com>
* libgcc2.c (CEXT): Define using __LIBGCC_*_FUNC_EXT__.
diff --git a/libgcc/config.host b/libgcc/config.host
index 6fec2d2dfca..a17d2fa5654 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -997,7 +997,7 @@ powerpc*-*-linux*)
extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
md_unwind_header=rs6000/linux-unwind.h
;;
-powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
+powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit"
;;
powerpc-*-lynxos*)