1 /* Default initializers for a generic GCC target. 2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 3 2011 Free Software Foundation, Inc. 4 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! */ 22 23 /* See target.def for a description of what this file contains and how to 24 use it. 25 26 We want to have non-NULL default definitions of all hook functions, 27 even if they do nothing. */ 28 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 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. */ 39 #if defined (OBJECT_FORMAT_ELF) 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 49 #endif /* OBJECT_FORMAT_ELF */ 50 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 75 #if !defined(TARGET_HAVE_CTORS_DTORS) 76 # if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR) 77 # define TARGET_HAVE_CTORS_DTORS true 78 # endif 79 #endif 80 81 #ifndef TARGET_TERMINATE_DW2_EH_FRAME_INFO 82 #ifdef EH_FRAME_SECTION_NAME 83 #define TARGET_TERMINATE_DW2_EH_FRAME_INFO false 84 #endif 85 #endif 86 87 #if !defined(TARGET_ASM_OUTPUT_ANCHOR) && !defined(ASM_OUTPUT_DEF) 88 #define TARGET_ASM_OUTPUT_ANCHOR NULL 89 #endif 90 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 103 #if !defined (TARGET_FUNCTION_INCOMING_ARG) 104 #define TARGET_FUNCTION_INCOMING_ARG TARGET_FUNCTION_ARG 105 #endif 106 107 #include "target-hooks-def.h" 108 109 #include "hooks.h" 110 #include "targhooks.h" 111