Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/mcore/mcore-pe.h @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
1 /* Definitions of target machine for GNU compiler, for MCore using COFF/PE. | |
2 Copyright (C) 1994, 1999, 2000, 2002, 2003, 2004, 2007 | |
3 Free Software Foundation, Inc. | |
4 Contributed by Michael Tiemann (tiemann@cygnus.com). | |
5 | |
6 This file is part of GCC. | |
7 | |
8 GCC is free software; you can redistribute it and/or modify | |
9 it under the terms of the GNU General Public License as published by | |
10 the Free Software Foundation; either version 3, or (at your option) | |
11 any later version. | |
12 | |
13 GCC is distributed in the hope that it will be useful, | |
14 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 GNU General Public 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 /* Run-time Target Specification. */ | |
23 #define TARGET_VERSION fputs (" (MCORE/pe)", stderr) | |
24 | |
25 #define TARGET_OS_CPP_BUILTINS() \ | |
26 do \ | |
27 { \ | |
28 builtin_define ("__pe__"); \ | |
29 } \ | |
30 while (0) | |
31 | |
32 /* The MCore ABI says that bitfields are unsigned by default. */ | |
33 /* The EPOC C++ environment does not support exceptions. */ | |
34 #undef CC1_SPEC | |
35 #define CC1_SPEC "-funsigned-bitfields %{!DIN_GCC:-fno-rtti} %{!DIN_GCC:-fno-exceptions}" | |
36 | |
37 #undef SDB_DEBUGGING_INFO | |
38 #define DBX_DEBUGGING_INFO 1 | |
39 | |
40 /* Computed in toplev.c. */ | |
41 #undef PREFERRED_DEBUGGING_TYPE | |
42 | |
43 #define READONLY_DATA_SECTION_ASM_OP "\t.section .rdata" | |
44 | |
45 #define MCORE_EXPORT_NAME(STREAM, NAME) \ | |
46 do \ | |
47 { \ | |
48 fprintf (STREAM, "\t.section .drectve\n"); \ | |
49 fprintf (STREAM, "\t.ascii \" -export:%s\"\n", \ | |
50 (* targetm.strip_name_encoding) (NAME)); \ | |
51 in_section = NULL; \ | |
52 } \ | |
53 while (0); | |
54 | |
55 /* Output the label for an initialized variable. */ | |
56 #undef ASM_DECLARE_OBJECT_NAME | |
57 #define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \ | |
58 do \ | |
59 { \ | |
60 if (mcore_dllexport_name_p (NAME)) \ | |
61 { \ | |
62 section *save_section = in_section; \ | |
63 MCORE_EXPORT_NAME (STREAM, NAME); \ | |
64 switch_to_section (save_section); \ | |
65 } \ | |
66 ASM_OUTPUT_LABEL ((STREAM), (NAME)); \ | |
67 } \ | |
68 while (0) | |
69 | |
70 /* Output a function label definition. */ | |
71 #define ASM_DECLARE_FUNCTION_NAME(STREAM, NAME, DECL) \ | |
72 do \ | |
73 { \ | |
74 if (mcore_dllexport_name_p (NAME)) \ | |
75 { \ | |
76 MCORE_EXPORT_NAME (STREAM, NAME); \ | |
77 switch_to_section (function_section (DECL)); \ | |
78 } \ | |
79 ASM_OUTPUT_LABEL ((STREAM), (NAME)); \ | |
80 } \ | |
81 while (0); | |
82 | |
83 #define TARGET_ASM_FILE_START_FILE_DIRECTIVE true | |
84 | |
85 #define DBX_LINES_FUNCTION_RELATIVE 1 | |
86 | |
87 #define STARTFILE_SPEC "crt0.o%s" | |
88 #define ENDFILE_SPEC "%{!mno-lsim:-lsim}" | |
89 | |
90 /* __CTOR_LIST__ and __DTOR_LIST__ must be defined by the linker script. */ | |
91 #define CTOR_LISTS_DEFINED_EXTERNALLY | |
92 | |
93 #undef DO_GLOBAL_CTORS_BODY | |
94 #undef DO_GLOBAL_DTORS_BODY | |
95 #undef INIT_SECTION_ASM_OP | |
96 #undef DTORS_SECTION_ASM_OP | |
97 | |
98 #define SUPPORTS_ONE_ONLY 1 | |
99 | |
100 /* Switch into a generic section. */ | |
101 #undef TARGET_ASM_NAMED_SECTION | |
102 #define TARGET_ASM_NAMED_SECTION default_pe_asm_named_section |