* gcc/config.gcc, libgcc/config.host: Add x86_64-*-rtems*. * gcc/config/i386/rtems-64.h: New file. --- gcc/config.gcc | 3 +++ gcc/config/i386/rtems-64.h | 30 ++++++++++++++++++++++++++++++ libgcc/config.host | 2 +- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 gcc/config/i386/rtems-64.h
diff --git a/gcc/config.gcc b/gcc/config.gcc index 3b280e0..4cc6438 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1421,6 +1421,9 @@ i[34567]86-*-elf*) x86_64-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h" ;; +x86_64-*-rtems*) + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rtems-64.h" + ;; i[34567]86-*-rdos*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/rdos.h" ;; diff --git a/gcc/config/i386/rtems-64.h b/gcc/config/i386/rtems-64.h new file mode 100644 index 0000000..b087d44 --- /dev/null +++ b/gcc/config/i386/rtems-64.h @@ -0,0 +1,30 @@ +/* Definitions for rtems targeting an x86_64 + Copyright (C) 2016 Free Software Foundation, Inc. + Contributed by Joel Sherrill (j...@oarcorp.com). + +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/>. */ + +/* Specify predefined symbols in preprocessor. */ + +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("__rtems__"); \ + builtin_define ("__USE_INIT_FINI__"); \ + builtin_assert ("system=rtems"); \ + } \ + while (0) diff --git a/libgcc/config.host b/libgcc/config.host index 1f85c46..b61a579 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -577,7 +577,7 @@ i[34567]86-*-elfiamcu) i[34567]86-*-elf*) tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic" ;; -x86_64-*-elf*) +x86_64-*-elf* | x86_64-*-rtems*) tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic" ;; i[34567]86-*-dragonfly*) -- 1.8.3.1