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