diff options
author | sh <sh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-01-08 13:39:11 +0000 |
---|---|---|
committer | sh <sh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-01-08 13:39:11 +0000 |
commit | 4b4bc4aad1b41c818ccad1bdebba22e26404d72e (patch) | |
tree | 94ca61d1df08789a79ea8b25d00d18a4d12329ed | |
parent | c8381f026bfd1de53bea48a082b692f45a0efb6b (diff) |
RTEMS/EPIPHANY: Add RTEMS support
gcc/
* config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration.
* config/epiphany/rtems.h: New file.
libgcc/
* config.host (epiphany-*-elf*): Add (epiphany-*-rtems*)
configuration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@256342 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config.gcc | 16 | ||||
-rw-r--r-- | gcc/config/epiphany/rtems.h | 28 | ||||
-rw-r--r-- | libgcc/ChangeLog | 8 | ||||
-rw-r--r-- | libgcc/config.host | 4 |
5 files changed, 58 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4404a4196636..d5ab8bc9a101 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de> + + Backported from mainline + 2018-01-05 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration. + * config/epiphany/rtems.h: New file. + 2018-01-04 Uros Bizjak <ubizjak@gmail.com> PR target/83628 diff --git a/gcc/config.gcc b/gcc/config.gcc index 2a6d6430594d..6e75bd45fb9d 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1235,11 +1235,19 @@ crisv32-*-linux* | cris-*-linux*) ;; esac ;; -epiphany-*-elf ) - tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" - tmake_file="epiphany/t-epiphany" +epiphany-*-elf | epiphany-*-rtems*) + tm_file="${tm_file} dbxelf.h elfos.h" + tmake_file="${tmake_file} epiphany/t-epiphany" + case ${target} in + epiphany-*-rtems*) + tm_file="${tm_file} rtems.h epiphany/rtems.h newlib-stdint.h" + ;; + *) + tm_file="${tm_file} newlib-stdint.h" + ;; + esac extra_options="${extra_options} fused-madd.opt" - extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o" + extra_objs="${extra_objs} mode-switch-use.o resolve-sw-modes.o" tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}" extra_headers="epiphany_intrinsics.h" ;; diff --git a/gcc/config/epiphany/rtems.h b/gcc/config/epiphany/rtems.h new file mode 100644 index 000000000000..a9971f8c0b61 --- /dev/null +++ b/gcc/config/epiphany/rtems.h @@ -0,0 +1,28 @@ +/* Definitions for RTEMS based EPIPHANY systems. + Copyright (C) 2018 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/>. */ + +#define HAS_INIT_SECTION + +#undef TARGET_OS_CPP_BUILTINS +#define TARGET_OS_CPP_BUILTINS() \ + do { \ + builtin_define ("__rtems__"); \ + builtin_define ("__USE_INIT_FINI__"); \ + builtin_assert ("system=rtems"); \ + } while (0) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index c6b8cde3b5ee..86fd102d3207 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,11 @@ +2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de> + + Backport from mainline + 2018-01-05 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * config.host (epiphany-*-elf*): Add (epiphany-*-rtems*) + configuration. + 2017-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> Backport from mainline diff --git a/libgcc/config.host b/libgcc/config.host index 92430ae90358..8beb492b5fa1 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -484,8 +484,8 @@ cris-*-elf) cris-*-linux* | crisv32-*-linux*) tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-linux" ;; -epiphany-*-elf*) - tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf" +epiphany-*-elf* | epiphany-*-rtems*) + tmake_file="$tmake_file epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf" extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o" ;; fr30-*-elf) |