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