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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [config/] [rs6000/] [netbsd.h] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
/* Definitions of target machine for GNU compiler,
2
   for PowerPC NetBSD systems.
3
   Copyright 2002, 2003, 2007 Free Software Foundation, Inc.
4
   Contributed by Wasabi Systems, Inc.
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
#undef  TARGET_OS_CPP_BUILTINS  /* FIXME: sysv4.h should not define this! */
23
#define TARGET_OS_CPP_BUILTINS()                \
24
  do                                            \
25
    {                                           \
26
      NETBSD_OS_CPP_BUILTINS_ELF();             \
27
      builtin_define ("__powerpc__");           \
28
      builtin_assert ("cpu=powerpc");           \
29
      builtin_assert ("machine=powerpc");       \
30
    }                                           \
31
  while (0)
32
 
33
/* Override the default from rs6000.h to avoid conflicts with macros
34
   defined in NetBSD header files.  */
35
 
36
#undef  RS6000_CPU_CPP_ENDIAN_BUILTINS
37
#define RS6000_CPU_CPP_ENDIAN_BUILTINS()        \
38
  do                                            \
39
    {                                           \
40
      if (BYTES_BIG_ENDIAN)                     \
41
        {                                       \
42
          builtin_define ("__BIG_ENDIAN__");    \
43
          builtin_assert ("machine=bigendian"); \
44
        }                                       \
45
      else                                      \
46
        {                                       \
47
          builtin_define ("__LITTLE_ENDIAN__"); \
48
          builtin_assert ("machine=littleendian"); \
49
        }                                       \
50
    }                                           \
51
  while (0)
52
 
53
/* Make GCC agree with <machine/ansi.h>.  */
54
 
55
#undef  SIZE_TYPE
56
#define SIZE_TYPE "unsigned int"
57
 
58
#undef  PTRDIFF_TYPE
59
#define PTRDIFF_TYPE "int"
60
 
61
/* Undo the spec mess from sysv4.h, and just define the specs
62
   the way NetBSD systems actually expect.  */
63
 
64
#undef  CPP_SPEC
65
#define CPP_SPEC NETBSD_CPP_SPEC
66
 
67
#undef  LINK_SPEC
68
#define LINK_SPEC \
69
  "%{!msdata=none:%{G*}} %{msdata=none:-G0} \
70
   %(netbsd_link_spec)"
71
 
72
#define NETBSD_ENTRY_POINT "_start"
73
 
74
#undef  STARTFILE_SPEC
75
#define STARTFILE_SPEC NETBSD_STARTFILE_SPEC
76
 
77
#undef  ENDFILE_SPEC
78
#define ENDFILE_SPEC \
79
  "crtsavres%O%s %(netbsd_endfile_spec)"
80
 
81
#undef  LIB_SPEC
82
#define LIB_SPEC NETBSD_LIB_SPEC
83
 
84
#undef  SUBTARGET_EXTRA_SPECS
85
#define SUBTARGET_EXTRA_SPECS                                   \
86
  { "netbsd_link_spec",         NETBSD_LINK_SPEC_ELF },         \
87
  { "netbsd_entry_point",       NETBSD_ENTRY_POINT },           \
88
  { "netbsd_endfile_spec",      NETBSD_ENDFILE_SPEC },
89
 
90
 
91
#undef  TARGET_VERSION
92
#define TARGET_VERSION fprintf (stderr, " (NetBSD/powerpc ELF)");

powered by: WebSVN 2.1.0

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