1 /* Base configuration file for all MINIX targets. 2 Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. 3 4 This file is part of GCC. 5 6 GCC is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GCC is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GCC; see the file COPYING. If not, write to 18 the Free Software Foundation, 51 Franklin Street, Fifth Floor, 19 Boston, MA 02110-1301, USA. */ 20 21 /* Common MINIX configuration. 22 * This file maps GCC defines to MINIX defines 23 * 24 * For this to work properly, the order in the tm_file variable has 25 * to be the following: 26 * minix-spec.h $arch/minix.h minix.h 27 * 28 * minix-spec.h : specifies default arch-independent values 29 * $arch/minix.h: redefines as needed default minix values 30 * minix.h : maps GCC defines to the minix defines. 31 */ 32 33 /* In case we need to know. */ 34 #define USING_CONFIG_MINIX 1 35 36 #undef SWITCH_TAKES_ARG 37 #define SWITCH_TAKES_ARG(CHAR) (MINIX_SWITCH_TAKES_ARG(CHAR)) 38 39 #undef WORD_SWITCH_TAKES_ARG 40 #define WORD_SWITCH_TAKES_ARG(STR) (MINIX_WORD_SWITCH_TAKES_ARG(STR)) 41 42 #undef TARGET_OS_CPP_BUILTINS 43 #define TARGET_OS_CPP_BUILTINS() MINIX_TARGET_OS_CPP_BUILTINS() 44 45 #if defined(NETBSD_NATIVE) 46 #undef GPLUSPLUS_INCLUDE_DIR 47 #define GPLUSPLUS_INCLUDE_DIR MINIX_GPLUSPLUS_INCLUDE_DIR 48 49 #undef GPLUSPLUS_BACKWARD_INCLUDE_DIR 50 #define GPLUSPLUS_BACKWARD_INCLUDE_DIR MINIX_GPLUSPLUS_BACKWARD_INCLUDE_DIR 51 52 #undef GCC_INCLUDE_DIR 53 #define GCC_INCLUDE_DIR MINIX_GCC_INCLUDE_DIR 54 55 #undef INCLUDE_DEFAULTS 56 #define INCLUDE_DEFAULTS MINIX_INCLUDE_DEFAULTS 57 #endif /* defined(NETBSD_NATIVE) */ 58 59 #undef CPP_SPEC 60 #define CPP_SPEC MINIX_CPP_SPEC 61 62 #undef CC1_SPEC 63 #define CC1_SPEC MINIX_CC1_SPEC 64 65 #undef CC1PLUS_SPEC 66 #define CC1PLUS_SPEC MINIX_CC1PLUS_SPEC 67 68 #undef STARTFILE_SPEC 69 #define STARTFILE_SPEC MINIX_STARTFILE_SPEC 70 71 #undef ENDFILE_SPEC 72 #define ENDFILE_SPEC MINIX_ENDFILE_SPEC 73 74 #undef LIB_SPEC 75 #define LIB_SPEC MINIX_LIB_SPEC 76 77 #undef LINK_SPEC 78 #define LINK_SPEC MINIX_LINK_SPEC 79 80 #undef STANDARD_STARTFILE_PREFIX 81 #define STANDARD_STARTFILE_PREFIX MINIX_STANDARD_STARTFILE_PREFIX 82 83 #undef STANDARD_STARTFILE_PREFIX_1 84 #define STANDARD_STARTFILE_PREFIX_1 MINIX_STANDARD_STARTFILE_PREFIX 85 86 #undef LINK_GCC_C_SEQUENCE_SPEC 87 #define LINK_GCC_C_SEQUENCE_SPEC MINIX_LINK_GCC_C_SEQUENCE_SPEC 88 89 /* This has to be here in order to allow architecture to define the default 90 * content of the additional specs. */ 91 #undef SUBTARGET_EXTRA_SPECS 92 #define SUBTARGET_EXTRA_SPECS \ 93 { "subtarget_extra_asm_spec", MINIX_SUBTARGET_EXTRA_ASM_SPEC }, \ 94 { "subtarget_asm_float_spec", MINIX_SUBTARGET_ASM_FLOAT_SPEC }, \ 95 { "minix_dynamic_linker", MINIX_DYNAMIC_LINKER } 96 97 #undef SUBTARGET_CPP_SPEC 98 #define SUBTARGET_CPP_SPEC MINIX_SUBTARGET_CPP_SPEC 99 100 /* All MINIX Architectures support the ELF object file format. */ 101 #undef OBJECT_FORMAT_ELF 102 #define OBJECT_FORMAT_ELF 103 104 /* Use periods rather than dollar signs in special g++ assembler names. 105 This ensures the configuration knows our system correctly so we can link 106 with libraries compiled with the native cc. */ 107 #undef NO_DOLLAR_IN_LABEL 108 109 /* Don't assume anything about the header files. */ 110 #undef NO_IMPLICIT_EXTERN_C 111 #define NO_IMPLICIT_EXTERN_C 1 112 113 /* Handle #pragma weak and #pragma pack. */ 114 #undef HANDLE_SYSV_PRAGMA 115 #define HANDLE_SYSV_PRAGMA 1 116 117 /* Don't default to pcc-struct-return, we want to retain compatibility with 118 older gcc versions AND pcc-struct-return is nonreentrant. 119 (even though the SVR4 ABI for the i386 says that records and unions are 120 returned in memory). */ 121 122 #undef DEFAULT_PCC_STRUCT_RETURN 123 #define DEFAULT_PCC_STRUCT_RETURN 0 124 125 /* Use --as-needed -lgcc_s for eh support. */ 126 #ifdef HAVE_LD_AS_NEEDED 127 #define USE_LD_AS_NEEDED 1 128 #endif 129 130 #if defined(HAVE_LD_EH_FRAME_HDR) 131 #define LINK_EH_SPEC "--eh-frame-hdr " 132 #endif 133 134 #undef TARGET_UNWIND_TABLES_DEFAULT 135 #define TARGET_UNWIND_TABLES_DEFAULT MINIX_TARGET_UNWIND_TABLES_DEFAULT 136