Hi Sebastian: LGTM, I've test riscv32-rtems-gcc is buildable. Thanks for you patch :)
Hi Palmer: Could you help to commit this patch ? Thanks. On Thu, Jul 27, 2017 at 7:05 PM, Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > gcc/ > * config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*). > * config/riscv/rtems.h: New file. > --- > gcc/config.gcc | 7 ++++++- > gcc/config/riscv/rtems.h | 31 +++++++++++++++++++++++++++++++ > 2 files changed, 37 insertions(+), 1 deletion(-) > create mode 100644 gcc/config/riscv/rtems.h > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index aab7f65c1df..f28164646c3 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -2040,7 +2040,7 @@ riscv*-*-linux*) > # automatically detect that GAS supports it, yet we require it. > gcc_cv_initfini_array=yes > ;; > -riscv*-*-elf*) > +riscv*-*-elf* | riscv*-*-rtems*) > tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h" > case "x${enable_multilib}" in > xno) ;; > @@ -2053,6 +2053,11 @@ riscv*-*-elf*) > # Force .init_array support. The configure script cannot always > # automatically detect that GAS supports it, yet we require it. > gcc_cv_initfini_array=yes > + case ${target} in > + riscv*-*-rtems*) > + tm_file="${tm_file} rtems.h riscv/rtems.h" > + ;; > + esac > ;; > mips*-*-netbsd*) # NetBSD/mips, either endian. > target_cpu_default="MASK_ABICALLS" > diff --git a/gcc/config/riscv/rtems.h b/gcc/config/riscv/rtems.h > new file mode 100644 > index 00000000000..221e2f69815 > --- /dev/null > +++ b/gcc/config/riscv/rtems.h > @@ -0,0 +1,31 @@ > +/* Definitions for RISC-V RTEMS systems with ELF format. > + Copyright (C) 2017 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. > + > + Under Section 7 of GPL version 3, you are granted additional > + permissions described in the GCC Runtime Library Exception, version > + 3.1, as published by the Free Software Foundation. > + > + You should have received a copy of the GNU General Public License and > + a copy of the GCC Runtime Library Exception along with this program; > + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see > + <http://www.gnu.org/licenses/>. */ > + > +#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) > -- > 2.12.3 >