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