1 /* Definitions for rtems targeting a PowerPC using elf. 2 Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2007 3 Free Software Foundation, Inc. 4 Contributed by Joel Sherrill (joel@OARcorp.com). 5 6 This file is part of GCC. 7 8 GCC is free software; you can redistribute it and/or modify it 9 under the terms of the GNU General Public License as published 10 by the Free Software Foundation; either version 3, or (at your 11 option) any later version. 12 13 GCC is distributed in the hope that it will be useful, but WITHOUT 14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 16 License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with GCC; see the file COPYING3. If not see 20 <http://www.gnu.org/licenses/>. */ 21 22 /* Specify predefined symbols in preprocessor. */ 23 24 #undef TARGET_OS_CPP_BUILTINS 25 #define TARGET_OS_CPP_BUILTINS() \ 26 do \ 27 { \ 28 builtin_define_std ("PPC"); \ 29 builtin_define ("__rtems__"); \ 30 builtin_define ("__USE_INIT_FINI__"); \ 31 builtin_assert ("system=rtems"); \ 32 builtin_assert ("cpu=powerpc"); \ 33 builtin_assert ("machine=powerpc"); \ 34 TARGET_OS_SYSV_CPP_BUILTINS (); \ 35 } \ 36 while (0) 37 38 #undef CPP_OS_DEFAULT_SPEC 39 #define CPP_OS_DEFAULT_SPEC "%(cpp_os_rtems)" 40 41 #define CPP_OS_RTEMS_SPEC "\ 42 %{!mcpu*: %{!Dppc*: %{!Dmpc*: -Dmpc750} } }\ 43 %{mcpu=403: %{!Dppc*: %{!Dmpc*: -Dppc403} } } \ 44 %{mcpu=505: %{!Dppc*: %{!Dmpc*: -Dmpc505} } } \ 45 %{mcpu=601: %{!Dppc*: %{!Dmpc*: -Dppc601} } } \ 46 %{mcpu=602: %{!Dppc*: %{!Dmpc*: -Dppc602} } } \ 47 %{mcpu=603: %{!Dppc*: %{!Dmpc*: -Dppc603} } } \ 48 %{mcpu=603e: %{!Dppc*: %{!Dmpc*: -Dppc603e} } } \ 49 %{mcpu=604: %{!Dppc*: %{!Dmpc*: -Dmpc604} } } \ 50 %{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } \ 51 %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ 52 %{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }" 53 54 #undef SUBSUBTARGET_EXTRA_SPECS 55 #define SUBSUBTARGET_EXTRA_SPECS \ 56 { "cpp_os_rtems", CPP_OS_RTEMS_SPEC } 57