OLD | NEW |
1 /* Definitions of target machine for GNU compiler. Generic IRIX version. | 1 /* Definitions of target machine for GNU compiler. Generic IRIX version. |
2 Copyright (C) 1993, 1995, 1996, 1998, 2000, | 2 Copyright (C) 1993, 1995, 1996, 1998, 2000, |
3 2001, 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc. | 3 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010 |
| 4 Free Software Foundation, Inc. |
4 | 5 |
5 This file is part of GCC. | 6 This file is part of GCC. |
6 | 7 |
7 GCC is free software; you can redistribute it and/or modify | 8 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 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 the Free Software Foundation; either version 3, or (at your option) |
10 any later version. | 11 any later version. |
11 | 12 |
12 GCC is distributed in the hope that it will be useful, | 13 GCC is distributed in the hope that it will be useful, |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 | 57 |
57 #undef LOCAL_LABEL_PREFIX | 58 #undef LOCAL_LABEL_PREFIX |
58 #define LOCAL_LABEL_PREFIX (TARGET_NEWABI ? "." : "$") | 59 #define LOCAL_LABEL_PREFIX (TARGET_NEWABI ? "." : "$") |
59 | 60 |
60 #undef ASM_DECLARE_OBJECT_NAME | 61 #undef ASM_DECLARE_OBJECT_NAME |
61 #define ASM_DECLARE_OBJECT_NAME mips_declare_object_name | 62 #define ASM_DECLARE_OBJECT_NAME mips_declare_object_name |
62 | 63 |
63 #undef ASM_FINISH_DECLARE_OBJECT | 64 #undef ASM_FINISH_DECLARE_OBJECT |
64 #define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object | 65 #define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object |
65 | 66 |
66 /* The linker needs a space after "-o". */ | |
67 #define SWITCHES_NEED_SPACES "o" | |
68 | |
69 /* Specify wchar_t types. */ | 67 /* Specify wchar_t types. */ |
70 #undef WCHAR_TYPE | 68 #undef WCHAR_TYPE |
71 #define WCHAR_TYPE (Pmode == DImode ? "int" : "long int") | 69 #define WCHAR_TYPE (Pmode == DImode ? "int" : "long int") |
72 | 70 |
73 #undef WCHAR_TYPE_SIZE | 71 #undef WCHAR_TYPE_SIZE |
74 #define WCHAR_TYPE_SIZE INT_TYPE_SIZE | 72 #define WCHAR_TYPE_SIZE INT_TYPE_SIZE |
75 | 73 |
76 /* Same for wint_t. */ | 74 /* Same for wint_t. */ |
77 #undef WINT_TYPE | 75 #undef WINT_TYPE |
78 #define WINT_TYPE (Pmode == DImode ? "int" : "long int") | 76 #define WINT_TYPE (Pmode == DImode ? "int" : "long int") |
79 | 77 |
80 #undef WINT_TYPE_SIZE | 78 #undef WINT_TYPE_SIZE |
81 #define WINT_TYPE_SIZE 32 | 79 #define WINT_TYPE_SIZE 32 |
82 | 80 |
| 81 /* C99 stdint.h types. */ |
| 82 #define INT8_TYPE "signed char" |
| 83 #define INT16_TYPE "short int" |
| 84 #define INT32_TYPE "int" |
| 85 #define INT64_TYPE "long long int" |
| 86 #define UINT8_TYPE "unsigned char" |
| 87 #define UINT16_TYPE "short unsigned int" |
| 88 #define UINT32_TYPE "unsigned int" |
| 89 #define UINT64_TYPE "long long unsigned int" |
| 90 |
| 91 #define INT_LEAST8_TYPE "signed char" |
| 92 #define INT_LEAST16_TYPE "short int" |
| 93 #define INT_LEAST32_TYPE "int" |
| 94 #define INT_LEAST64_TYPE "long long int" |
| 95 #define UINT_LEAST8_TYPE "unsigned char" |
| 96 #define UINT_LEAST16_TYPE "short unsigned int" |
| 97 #define UINT_LEAST32_TYPE "unsigned int" |
| 98 #define UINT_LEAST64_TYPE "long long unsigned int" |
| 99 |
| 100 #define INT_FAST8_TYPE "signed char" |
| 101 #define INT_FAST16_TYPE "short int" |
| 102 #define INT_FAST32_TYPE "int" |
| 103 #define INT_FAST64_TYPE "long long int" |
| 104 #define UINT_FAST8_TYPE "unsigned char" |
| 105 #define UINT_FAST16_TYPE "short unsigned int" |
| 106 #define UINT_FAST32_TYPE "unsigned int" |
| 107 #define UINT_FAST64_TYPE "long long unsigned int" |
| 108 |
| 109 #define INTMAX_TYPE "long long int" |
| 110 #define UINTMAX_TYPE "long long unsigned int" |
| 111 |
| 112 #define INTPTR_TYPE "long int" |
| 113 #define UINTPTR_TYPE "long unsigned int" |
| 114 |
| 115 #define SIG_ATOMIC_TYPE "int" |
| 116 |
83 /* Plain char is unsigned in the SGI compiler. */ | 117 /* Plain char is unsigned in the SGI compiler. */ |
84 #undef DEFAULT_SIGNED_CHAR | 118 #undef DEFAULT_SIGNED_CHAR |
85 #define DEFAULT_SIGNED_CHAR 0 | 119 #define DEFAULT_SIGNED_CHAR 0 |
86 | 120 |
87 #define WORD_SWITCH_TAKES_ARG(STR) \ | 121 #define WORD_SWITCH_TAKES_ARG(STR) \ |
88 (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \ | 122 (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \ |
89 || strcmp (STR, "rpath") == 0) | 123 || strcmp (STR, "rpath") == 0) |
90 | 124 |
91 #define TARGET_OS_CPP_BUILTINS() \ | 125 #define TARGET_OS_CPP_BUILTINS() \ |
92 do \ | 126 do \ |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 | 176 |
143 #undef FINI_SECTION_ASM_OP | 177 #undef FINI_SECTION_ASM_OP |
144 #define FINI_SECTION_ASM_OP "\t.section\t.gcc_fini,\"ax\",@progbits" | 178 #define FINI_SECTION_ASM_OP "\t.section\t.gcc_fini,\"ax\",@progbits" |
145 | 179 |
146 #ifdef IRIX_USING_GNU_LD | 180 #ifdef IRIX_USING_GNU_LD |
147 #define IRIX_NO_UNRESOLVED "" | 181 #define IRIX_NO_UNRESOLVED "" |
148 #else | 182 #else |
149 #define IRIX_NO_UNRESOLVED "-no_unresolved" | 183 #define IRIX_NO_UNRESOLVED "-no_unresolved" |
150 #endif | 184 #endif |
151 | 185 |
| 186 #ifdef IRIX_USING_GNU_LD |
| 187 #define SUBTARGET_DONT_WARN_UNUSED_SPEC "" |
| 188 #define SUBTARGET_WARN_UNUSED_SPEC "" |
| 189 #else |
| 190 #define SUBTARGET_DONT_WARN_UNUSED_SPEC "-dont_warn_unused" |
| 191 #define SUBTARGET_WARN_UNUSED_SPEC "-warn_unused" |
| 192 #endif |
| 193 |
152 /* Generic part of the LINK_SPEC. */ | 194 /* Generic part of the LINK_SPEC. */ |
153 #undef LINK_SPEC | 195 #undef LINK_SPEC |
154 #define LINK_SPEC "\ | 196 #define LINK_SPEC "\ |
155 %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \ | 197 %{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \ |
156 %{bestGnum} %{shared} %{non_shared} \ | 198 %{bestGnum} %{shared} %{non_shared} \ |
157 %{call_shared} %{no_archive} %{exact_version} \ | 199 %{call_shared} %{no_archive} %{exact_version} \ |
158 %{!shared: \ | 200 %{!shared: \ |
159 %{!non_shared: %{!call_shared:%{!r: -call_shared " IRIX_NO_UNRESOLVED "}}}} \ | 201 %{!non_shared: %{!call_shared:%{!r: -call_shared " IRIX_NO_UNRESOLVED "}}}} \ |
160 %{rpath} -init __gcc_init -fini __gcc_fini " IRIX_SUBTARGET_LINK_SPEC | 202 %{rpath} %{!r: -init __gcc_init -fini __gcc_fini} " IRIX_SUBTARGET_LINK_SPEC |
161 | 203 |
162 /* A linker error can empirically be avoided by removing duplicate | 204 /* A linker error can empirically be avoided by removing duplicate |
163 library search directories. */ | 205 library search directories. */ |
164 #define LINK_ELIMINATE_DUPLICATE_LDIRECTORIES 1 | 206 #define LINK_ELIMINATE_DUPLICATE_LDIRECTORIES 1 |
165 | 207 |
166 /* Add -g to mips.h default to avoid confusing gas with local symbols | 208 /* Add -g to mips.h default to avoid confusing gas with local symbols |
167 generated from stabs info. */ | 209 generated from stabs info. */ |
168 #undef NM_FLAGS | 210 #undef NM_FLAGS |
169 #define NM_FLAGS "-Bng" | 211 #define NM_FLAGS "-Bng" |
170 | 212 |
(...skipping 10 matching lines...) Expand all Loading... |
181 in the small data section if the user explicitly asks for it. */ | 223 in the small data section if the user explicitly asks for it. */ |
182 #undef MIPS_DEFAULT_GVALUE | 224 #undef MIPS_DEFAULT_GVALUE |
183 #define MIPS_DEFAULT_GVALUE 0 | 225 #define MIPS_DEFAULT_GVALUE 0 |
184 | 226 |
185 /* The native o32 IRIX linker does not support merging without a | 227 /* The native o32 IRIX linker does not support merging without a |
186 special elspec(5) file. */ | 228 special elspec(5) file. */ |
187 #ifndef IRIX_USING_GNU_LD | 229 #ifndef IRIX_USING_GNU_LD |
188 #undef HAVE_GAS_SHF_MERGE | 230 #undef HAVE_GAS_SHF_MERGE |
189 #define HAVE_GAS_SHF_MERGE 0 | 231 #define HAVE_GAS_SHF_MERGE 0 |
190 #endif | 232 #endif |
OLD | NEW |