]>
Commit | Line | Data |
---|---|---|
672a6f42 | 1 | /* Default initializers for a generic GCC target. |
677f3fa8 JM |
2 | Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, |
3 | 2011 Free Software Foundation, Inc. | |
672a6f42 | 4 | |
9dcd6f09 NC |
5 | This program is free software; you can redistribute it and/or modify it |
6 | under the terms of the GNU General Public License as published by the | |
7 | Free Software Foundation; either version 3, or (at your option) any | |
8 | later version. | |
9 | ||
10 | This program is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | GNU General Public License for more details. | |
14 | ||
15 | You should have received a copy of the GNU General Public License | |
16 | along with this program; see the file COPYING3. If not see | |
17 | <http://www.gnu.org/licenses/>. | |
18 | ||
19 | In other words, you are welcome to use, share and improve this program. | |
20 | You are forbidden to forbid anyone else to use, share and improve | |
21 | what you give them. Help stamp out software-hoarding! */ | |
672a6f42 | 22 | |
38f8b050 | 23 | /* See target.def for a description of what this file contains and how to |
a8b997e8 | 24 | use it. |
672a6f42 | 25 | |
a8b997e8 NB |
26 | We want to have non-NULL default definitions of all hook functions, |
27 | even if they do nothing. */ | |
28 | ||
07c9d2eb SS |
29 | /* Note that if one of these macros must be defined in an OS .h file |
30 | rather than the .c file, then we need to wrap the default | |
31 | definition in a #ifndef, since files include tm.h before this one. */ | |
32 | ||
301d03af RS |
33 | #define TARGET_ASM_ALIGNED_HI_OP "\t.short\t" |
34 | #define TARGET_ASM_ALIGNED_SI_OP "\t.long\t" | |
35 | #define TARGET_ASM_ALIGNED_DI_OP NULL | |
36 | #define TARGET_ASM_ALIGNED_TI_OP NULL | |
37 | ||
38 | /* GAS and SYSV4 assemblers accept these. */ | |
4a023207 | 39 | #if defined (OBJECT_FORMAT_ELF) |
301d03af RS |
40 | #define TARGET_ASM_UNALIGNED_HI_OP "\t.2byte\t" |
41 | #define TARGET_ASM_UNALIGNED_SI_OP "\t.4byte\t" | |
42 | #define TARGET_ASM_UNALIGNED_DI_OP "\t.8byte\t" | |
43 | #define TARGET_ASM_UNALIGNED_TI_OP NULL | |
44 | #else | |
45 | #define TARGET_ASM_UNALIGNED_HI_OP NULL | |
46 | #define TARGET_ASM_UNALIGNED_SI_OP NULL | |
47 | #define TARGET_ASM_UNALIGNED_DI_OP NULL | |
48 | #define TARGET_ASM_UNALIGNED_TI_OP NULL | |
4a023207 | 49 | #endif /* OBJECT_FORMAT_ELF */ |
301d03af | 50 | |
2cc07db4 RH |
51 | #if !defined(TARGET_ASM_CONSTRUCTOR) && !defined(USE_COLLECT2) |
52 | # ifdef CTORS_SECTION_ASM_OP | |
53 | # define TARGET_ASM_CONSTRUCTOR default_ctor_section_asm_out_constructor | |
54 | # else | |
55 | # ifdef TARGET_ASM_NAMED_SECTION | |
56 | # define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor | |
57 | # else | |
58 | # define TARGET_ASM_CONSTRUCTOR default_stabs_asm_out_constructor | |
59 | # endif | |
60 | # endif | |
61 | #endif | |
62 | ||
63 | #if !defined(TARGET_ASM_DESTRUCTOR) && !defined(USE_COLLECT2) | |
64 | # ifdef DTORS_SECTION_ASM_OP | |
65 | # define TARGET_ASM_DESTRUCTOR default_dtor_section_asm_out_destructor | |
66 | # else | |
67 | # ifdef TARGET_ASM_NAMED_SECTION | |
68 | # define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor | |
69 | # else | |
70 | # define TARGET_ASM_DESTRUCTOR default_stabs_asm_out_destructor | |
71 | # endif | |
72 | # endif | |
73 | #endif | |
74 | ||
2eab15c9 PE |
75 | #if !defined(TARGET_HAVE_CTORS_DTORS) |
76 | # if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR) | |
77 | # define TARGET_HAVE_CTORS_DTORS true | |
2eab15c9 | 78 | # endif |
2cc07db4 RH |
79 | #endif |
80 | ||
7606e68f SS |
81 | #ifndef TARGET_TERMINATE_DW2_EH_FRAME_INFO |
82 | #ifdef EH_FRAME_SECTION_NAME | |
83 | #define TARGET_TERMINATE_DW2_EH_FRAME_INFO false | |
1bc7c5b6 | 84 | #endif |
8e3e233b DP |
85 | #endif |
86 | ||
38f8b050 | 87 | #if !defined(TARGET_ASM_OUTPUT_ANCHOR) && !defined(ASM_OUTPUT_DEF) |
aacd3885 RS |
88 | #define TARGET_ASM_OUTPUT_ANCHOR NULL |
89 | #endif | |
6e2188e0 | 90 | |
301d03af RS |
91 | #define TARGET_ASM_ALIGNED_INT_OP \ |
92 | {TARGET_ASM_ALIGNED_HI_OP, \ | |
93 | TARGET_ASM_ALIGNED_SI_OP, \ | |
94 | TARGET_ASM_ALIGNED_DI_OP, \ | |
95 | TARGET_ASM_ALIGNED_TI_OP} | |
96 | ||
97 | #define TARGET_ASM_UNALIGNED_INT_OP \ | |
98 | {TARGET_ASM_UNALIGNED_HI_OP, \ | |
99 | TARGET_ASM_UNALIGNED_SI_OP, \ | |
100 | TARGET_ASM_UNALIGNED_DI_OP, \ | |
101 | TARGET_ASM_UNALIGNED_TI_OP} | |
102 | ||
b25b9e8f | 103 | #if !defined (TARGET_FUNCTION_INCOMING_ARG) |
38f8b050 | 104 | #define TARGET_FUNCTION_INCOMING_ARG TARGET_FUNCTION_ARG |
ab442df7 MM |
105 | #endif |
106 | ||
38f8b050 | 107 | #include "target-hooks-def.h" |
1f1d5130 | 108 | |
e4ec2cac | 109 | #include "hooks.h" |
61f71b34 | 110 | #include "targhooks.h" |