OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / config / alpha / openbsd.h
1 /* Configuration file for an alpha OpenBSD target.
2    Copyright (C) 1999, 2003, 2007 Free Software Foundation, Inc.
3
4 This file is part of GCC.
5
6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3, or (at your option)
9 any later version.
10
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3.  If not see
18 <http://www.gnu.org/licenses/>.  */
19
20 /* We settle for little endian for now.  */
21 #define TARGET_ENDIAN_DEFAULT 0
22
23 /* Controlling the compilation driver.  */
24
25 /* alpha needs __start.  */
26 #undef LINK_SPEC
27 #define LINK_SPEC \
28   "%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp %{assert*}"
29
30 /* run-time target specifications */
31 #define TARGET_OS_CPP_BUILTINS()                \
32     do {                                        \
33         builtin_define ("__OpenBSD__");         \
34         builtin_define ("__ANSI_COMPAT");       \
35         builtin_define ("__unix__");            \
36         builtin_assert ("system=unix");         \
37     } while (0)
38
39 /* Layout of source language data types.  */
40
41 /* This must agree with <machine/ansi.h> */
42 #undef SIZE_TYPE
43 #define SIZE_TYPE "long unsigned int"
44
45 #undef PTRDIFF_TYPE
46 #define PTRDIFF_TYPE "long int"
47
48 #undef WCHAR_TYPE
49 #define WCHAR_TYPE "int"
50
51 #undef WCHAR_TYPE_SIZE
52 #define WCHAR_TYPE_SIZE 32
53
54 \f
55 #undef PREFERRED_DEBUGGING_TYPE
56 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
57
58 #define LOCAL_LABEL_PREFIX      "."
59
60 /* We don't have an init section yet.  */
61 #undef HAS_INIT_SECTION
62
63 /* collect2 support (assembler format: macros for initialization).  */
64
65 /* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
66    library with the proper functions to handle this -> collect2 will
67    default to using nm.  */
68 #undef OBJECT_FORMAT_COFF
69 #undef EXTENDED_COFF
70
71 /* Assembler format: exception region output.  */
72
73 /* All configurations that don't use elf must be explicit about not using
74    dwarf unwind information.  */
75 #ifdef INCOMING_RETURN_ADDR_RTX
76 #undef DWARF2_UNWIND_INFO
77 #define DWARF2_UNWIND_INFO 0
78 #endif
79
80 /* Assembler format: label output.  */
81
82 /* alpha ecoff supports only weak aliases.  */
83 #undef ASM_WEAKEN_LABEL
84 #define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS (FILE,NAME,0)
85
86 #define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE)  \
87  do {                                           \
88   fputs ("\t.weakext\t", FILE);                 \
89   assemble_name (FILE, NAME);                   \
90   if (VALUE)                                    \
91     {                                           \
92       fputs (" , ", FILE);                      \
93       assemble_name (FILE, VALUE);              \
94     }                                           \
95   fputc ('\n', FILE);                           \
96  } while (0)
97
98