OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [rs6000/] [rtems.h] - Blame information for rev 801

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 709 jeremybenn
/* 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
%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540}  } }"
54
 
55
#undef  SUBSUBTARGET_EXTRA_SPECS
56
#define SUBSUBTARGET_EXTRA_SPECS \
57
  { "cpp_os_rtems",             CPP_OS_RTEMS_SPEC }
58
 
59
#undef SUBSUBTARGET_OVERRIDE_OPTIONS
60
#define SUBSUBTARGET_OVERRIDE_OPTIONS                                     \
61
  do {                                                                    \
62
   if (TARGET_E500)                                                       \
63
      {                                                                   \
64
        if (TARGET_HARD_FLOAT && !global_options_set.x_rs6000_float_gprs) \
65
          rs6000_float_gprs = 1;                                          \
66
        if (rs6000_float_gprs != 0 && !global_options_set.x_rs6000_spe)   \
67
          rs6000_spe = 1;                                                 \
68
        if (rs6000_spe && !global_options_set.x_rs6000_spe_abi)           \
69
          rs6000_spe_abi = 1;                                             \
70
      }                                                                   \
71
  } while(0)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.