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