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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [netbsd.h] - Blame information for rev 720

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

Line No. Rev Author Line
1 709 jeremybenn
/* Base configuration file for all NetBSD targets.
2
   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3
   2007, 2009, 2010, 2011 Free Software Foundation, Inc.
4
 
5
This file is part of GCC.
6
 
7
GCC is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 3, or (at your option)
10
any later version.
11
 
12
GCC is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
GNU General Public License for more details.
16
 
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/>.  */
20
 
21
/* TARGET_OS_CPP_BUILTINS() common to all NetBSD targets.  */
22
#define NETBSD_OS_CPP_BUILTINS_COMMON()         \
23
  do                                            \
24
    {                                           \
25
      builtin_define ("__NetBSD__");            \
26
      builtin_define ("__unix__");              \
27
      builtin_assert ("system=bsd");            \
28
      builtin_assert ("system=unix");           \
29
      builtin_assert ("system=NetBSD");         \
30
    }                                           \
31
  while (0)
32
 
33
/* CPP_SPEC parts common to all NetBSD targets.  */
34
#define NETBSD_CPP_SPEC                         \
35
  "%{posix:-D_POSIX_SOURCE} \
36
   %{pthread:-D_REENTRANT -D_PTHREADS}"
37
 
38
/* NETBSD_NATIVE is defined when gcc is integrated into the NetBSD
39
   source tree so it can be configured appropriately without using
40
   the GNU configure/build mechanism.  */
41
 
42
#ifdef NETBSD_NATIVE
43
 
44
/* Look for the include files in the system-defined places.  */
45
 
46
#undef GPLUSPLUS_INCLUDE_DIR
47
#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
48
 
49
#undef GCC_INCLUDE_DIR
50
#define GCC_INCLUDE_DIR "/usr/include"
51
 
52
#undef INCLUDE_DEFAULTS
53
#define INCLUDE_DEFAULTS                        \
54
  {                                             \
55
    { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },     \
56
    { GCC_INCLUDE_DIR, "GCC", 0, 0 },             \
57
    { 0, 0, 0, 0 }                          \
58
  }
59
 
60
/* Under NetBSD, the normal location of the compiler back ends is the
61
   /usr/libexec directory.  */
62
 
63
#undef STANDARD_EXEC_PREFIX
64
#define STANDARD_EXEC_PREFIX            "/usr/libexec/"
65
 
66
/* Under NetBSD, the normal location of the various *crt*.o files is the
67
   /usr/lib directory.  */
68
 
69
#undef STANDARD_STARTFILE_PREFIX
70
#define STANDARD_STARTFILE_PREFIX       "/usr/lib/"
71
 
72
#endif /* NETBSD_NATIVE */
73
 
74
 
75
/* Provide a LIB_SPEC appropriate for NetBSD.  Here we:
76
 
77
   1. Select the appropriate set of libs, depending on whether we're
78
      profiling.
79
 
80
   2. Include the pthread library if -pthread is specified (only
81
      if threads are enabled).
82
 
83
   3. Include the posix library if -posix is specified.
84
 
85
   FIXME: Could eliminate the duplication here if we were allowed to
86
   use string concatenation.  */
87
 
88
#ifdef NETBSD_ENABLE_PTHREADS
89
#define NETBSD_LIB_SPEC         \
90
  "%{pthread:                   \
91
     %{!p:                      \
92
       %{!pg:-lpthread}}        \
93
     %{p:-lpthread_p}           \
94
     %{pg:-lpthread_p}}         \
95
   %{posix:                     \
96
     %{!p:                      \
97
       %{!pg:-lposix}}          \
98
     %{p:-lposix_p}             \
99
     %{pg:-lposix_p}}           \
100
   %{!shared:                   \
101
     %{!symbolic:               \
102
       %{!p:                    \
103
         %{!pg:-lc}}            \
104
       %{p:-lc_p}               \
105
       %{pg:-lc_p}}}"
106
#else
107
#define NETBSD_LIB_SPEC         \
108
  "%{posix:                     \
109
     %{!p:                      \
110
       %{!pg:-lposix}}          \
111
     %{p:-lposix_p}             \
112
     %{pg:-lposix_p}}           \
113
   %{!shared:                   \
114
     %{!symbolic:               \
115
       %{!p:                    \
116
         %{!pg:-lc}}            \
117
       %{p:-lc_p}               \
118
       %{pg:-lc_p}}}"
119
#endif
120
 
121
#undef LIB_SPEC
122
#define LIB_SPEC NETBSD_LIB_SPEC
123
 
124
/* Provide a LIBGCC_SPEC appropriate for NetBSD.  We also want to exclude
125
   libgcc with -symbolic.  */
126
 
127
#ifdef NETBSD_NATIVE
128
#define NETBSD_LIBGCC_SPEC      \
129
  "%{!symbolic:                 \
130
     %{!shared:                 \
131
       %{!p:                    \
132
         %{!pg: -lgcc}}}        \
133
     %{shared: -lgcc_pic}       \
134
     %{p: -lgcc_p}              \
135
     %{pg: -lgcc_p}}"
136
#else
137
#define NETBSD_LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}"
138
#endif
139
 
140
#undef LIBGCC_SPEC
141
#define LIBGCC_SPEC NETBSD_LIBGCC_SPEC
142
 
143
/* When building shared libraries, the initialization and finalization
144
   functions for the library are .init and .fini respectively.  */
145
 
146
#define COLLECT_SHARED_INIT_FUNC(STREAM,FUNC)                           \
147
  do {                                                                  \
148
    fprintf ((STREAM), "void __init() __asm__ (\".init\");");           \
149
    fprintf ((STREAM), "void __init() {\n\t%s();\n}\n", (FUNC));        \
150
  } while (0)
151
 
152
#define COLLECT_SHARED_FINI_FUNC(STREAM,FUNC)                           \
153
  do {                                                                  \
154
    fprintf ((STREAM), "void __fini() __asm__ (\".fini\");");           \
155
    fprintf ((STREAM), "void __fini() {\n\t%s();\n}\n", (FUNC));        \
156
  } while (0)
157
 
158
#undef TARGET_POSIX_IO
159
#define TARGET_POSIX_IO
160
 
161
/* Don't assume anything about the header files.  */
162
#undef  NO_IMPLICIT_EXTERN_C
163
#define NO_IMPLICIT_EXTERN_C    1
164
 
165
/* Define some types that are the same on all NetBSD platforms,
166
   making them agree with <machine/ansi.h>.  */
167
 
168
#undef WCHAR_TYPE
169
#define WCHAR_TYPE "int"
170
 
171
#undef WCHAR_TYPE_SIZE
172
#define WCHAR_TYPE_SIZE 32
173
 
174
#undef WINT_TYPE
175
#define WINT_TYPE "int"

powered by: WebSVN 2.1.0

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