diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 44c38d068dfa916c343cf1fde99187098fb60bf6..3475f45e9fc8393f086035051c197113cceaa01e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com> + + * config.gcc: Add m32r*-*-rtems*. + * config/m32r/rtems.h: New file. + 2009-01-05 Ben Elliston <bje@au.ibm.com> * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir. diff --git a/gcc/config.gcc b/gcc/config.gcc index ba44a95188cec43d1dcb855a1b16e10e8592532a..aa224ae59df1fe1a35e6822d55a6a672ae96eef8 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1351,6 +1351,11 @@ m32rle-*-elf*) tm_file="dbxelf.h elfos.h svr4.h m32r/little.h ${tm_file}" extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o" ;; +m32r-*-rtems*) + tm_file="dbxelf.h elfos.h svr4.h ${tm_file} m32r/rtems.h rtems.h" + tmake_file="m32r/t-m32r t-rtems" + extra_parts="crtinit.o crtfini.o" + ;; m32r-*-linux*) tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h" # We override the tmake_file for linux -- why? diff --git a/gcc/config/m32r/rtems.h b/gcc/config/m32r/rtems.h new file mode 100644 index 0000000000000000000000000000000000000000..add53f1d4c167ba7a551f314c0117ba63d3281f8 --- /dev/null +++ b/gcc/config/m32r/rtems.h @@ -0,0 +1,33 @@ +/* Definitions for rtems targeting a M32R using ELF. + Copyright (C) 2009, Free Software Foundation, Inc. + Contributed by Joel Sherrill (joel@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/>. */ + +/* Target OS builtins. */ +#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) + +/* Use the default */ +#undef LINK_GCC_C_SEQUENCE_SPEC