From 3a8fe7c66071360f038334bca1bf9fd06d93ea03 Mon Sep 17 00:00:00 2001 From: Olivier Hainque Date: Fri, 19 Sep 2014 08:11:55 +0000 Subject: [PATCH] config.gcc (powerpc-wrs-vxworksmils): New configuration. 2014-09-18 Olivier Hainque 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 --- contrib/ChangeLog | 4 ++++ contrib/config-list.mk | 3 ++- gcc/ChangeLog | 6 ++++++ gcc/config.gcc | 6 +++++- gcc/config/rs6000/t-vxworksmils | 10 ++++++++++ gcc/config/rs6000/vxworksmils.h | 29 +++++++++++++++++++++++++++++ libgcc/ChangeLog | 5 +++++ libgcc/config.host | 2 +- 8 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 gcc/config/rs6000/t-vxworksmils create mode 100644 gcc/config/rs6000/vxworksmils.h 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 + + * config-list.mk (LIST): Add powerpc-wrs-vxworksmils. + 2014-09-18 Joel Sherrill * 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,3 +1,9 @@ +2014-09-19 Olivier Hainque + + * config.gcc (powerpc-wrs-vxworksmils): New configuration. + * config/rs6000/t-vxworksmils: New file. + * config/rs6000/vxworksmils.h: New file. + 2014-09-19 Olivier Hainque * varasm.c (default_section_type_flags): Flag .persistent.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 +. */ + +/* 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 + + * config.host (powerpc-wrs-vxworksmils): New configuration, + same as vxworksae. + 2014-09-18 Joseph Myers * 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*)