This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] [RISCV] Add RTEMS support


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.huber@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
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]