]>
Commit | Line | Data |
---|---|---|
672a6f42 | 1 | /* Default initializers for a generic GCC target. |
a5544970 | 2 | Copyright (C) 2001-2019 Free Software Foundation, Inc. |
672a6f42 | 3 | |
9dcd6f09 NC |
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! */ | |
672a6f42 | 21 | |
38f8b050 | 22 | /* See target.def for a description of what this file contains and how to |
a8b997e8 | 23 | use it. |
672a6f42 | 24 | |
a8b997e8 NB |
25 | We want to have non-NULL default definitions of all hook functions, |
26 | even if they do nothing. */ | |
27 | ||
07c9d2eb SS |
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 | ||
301d03af RS |
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. */ | |
4a023207 | 38 | #if defined (OBJECT_FORMAT_ELF) |
301d03af RS |
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 | |
4a023207 | 48 | #endif /* OBJECT_FORMAT_ELF */ |
301d03af | 49 | |
cac6691c JL |
50 | /* There is no standard way to handle P{S,D,T}Imode, targets must implement them |
51 | if required. */ | |
52 | #define TARGET_ASM_ALIGNED_PSI_OP NULL | |
53 | #define TARGET_ASM_UNALIGNED_PSI_OP NULL | |
54 | #define TARGET_ASM_ALIGNED_PDI_OP NULL | |
55 | #define TARGET_ASM_UNALIGNED_PDI_OP NULL | |
56 | #define TARGET_ASM_ALIGNED_PTI_OP NULL | |
57 | #define TARGET_ASM_UNALIGNED_PTI_OP NULL | |
58 | ||
2cc07db4 RH |
59 | #if !defined(TARGET_ASM_CONSTRUCTOR) && !defined(USE_COLLECT2) |
60 | # ifdef CTORS_SECTION_ASM_OP | |
61 | # define TARGET_ASM_CONSTRUCTOR default_ctor_section_asm_out_constructor | |
62 | # else | |
63 | # ifdef TARGET_ASM_NAMED_SECTION | |
64 | # define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor | |
65 | # else | |
66 | # define TARGET_ASM_CONSTRUCTOR default_stabs_asm_out_constructor | |
67 | # endif | |
68 | # endif | |
69 | #endif | |
70 | ||
71 | #if !defined(TARGET_ASM_DESTRUCTOR) && !defined(USE_COLLECT2) | |
72 | # ifdef DTORS_SECTION_ASM_OP | |
73 | # define TARGET_ASM_DESTRUCTOR default_dtor_section_asm_out_destructor | |
74 | # else | |
75 | # ifdef TARGET_ASM_NAMED_SECTION | |
76 | # define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor | |
77 | # else | |
78 | # define TARGET_ASM_DESTRUCTOR default_stabs_asm_out_destructor | |
79 | # endif | |
80 | # endif | |
81 | #endif | |
82 | ||
2eab15c9 PE |
83 | #if !defined(TARGET_HAVE_CTORS_DTORS) |
84 | # if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR) | |
85 | # define TARGET_HAVE_CTORS_DTORS true | |
2eab15c9 | 86 | # endif |
2cc07db4 RH |
87 | #endif |
88 | ||
7606e68f SS |
89 | #ifndef TARGET_TERMINATE_DW2_EH_FRAME_INFO |
90 | #ifdef EH_FRAME_SECTION_NAME | |
91 | #define TARGET_TERMINATE_DW2_EH_FRAME_INFO false | |
1bc7c5b6 | 92 | #endif |
8e3e233b DP |
93 | #endif |
94 | ||
38f8b050 | 95 | #if !defined(TARGET_ASM_OUTPUT_ANCHOR) && !defined(ASM_OUTPUT_DEF) |
aacd3885 RS |
96 | #define TARGET_ASM_OUTPUT_ANCHOR NULL |
97 | #endif | |
6e2188e0 | 98 | |
301d03af RS |
99 | #define TARGET_ASM_ALIGNED_INT_OP \ |
100 | {TARGET_ASM_ALIGNED_HI_OP, \ | |
cac6691c | 101 | TARGET_ASM_ALIGNED_PSI_OP, \ |
301d03af | 102 | TARGET_ASM_ALIGNED_SI_OP, \ |
cac6691c | 103 | TARGET_ASM_ALIGNED_PDI_OP, \ |
301d03af | 104 | TARGET_ASM_ALIGNED_DI_OP, \ |
cac6691c | 105 | TARGET_ASM_ALIGNED_PTI_OP, \ |
301d03af RS |
106 | TARGET_ASM_ALIGNED_TI_OP} |
107 | ||
108 | #define TARGET_ASM_UNALIGNED_INT_OP \ | |
109 | {TARGET_ASM_UNALIGNED_HI_OP, \ | |
cac6691c | 110 | TARGET_ASM_UNALIGNED_PSI_OP, \ |
301d03af | 111 | TARGET_ASM_UNALIGNED_SI_OP, \ |
cac6691c | 112 | TARGET_ASM_UNALIGNED_PDI_OP, \ |
301d03af | 113 | TARGET_ASM_UNALIGNED_DI_OP, \ |
cac6691c | 114 | TARGET_ASM_UNALIGNED_PTI_OP, \ |
301d03af RS |
115 | TARGET_ASM_UNALIGNED_TI_OP} |
116 | ||
b25b9e8f | 117 | #if !defined (TARGET_FUNCTION_INCOMING_ARG) |
38f8b050 | 118 | #define TARGET_FUNCTION_INCOMING_ARG TARGET_FUNCTION_ARG |
ab442df7 MM |
119 | #endif |
120 | ||
38f8b050 | 121 | #include "target-hooks-def.h" |
1f1d5130 | 122 | |
e4ec2cac | 123 | #include "hooks.h" |
61f71b34 | 124 | #include "targhooks.h" |
4bccb39e | 125 | #include "insn-target-def.h" |