1 /* Definitions for Intel 386 running QNX/Neutrino. 2 Copyright (C) 2002, 2003, 2007 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 3, 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 COPYING3. If not see 18 <http://www.gnu.org/licenses/>. */ 19 20 #undef DEFAULT_PCC_STRUCT_RETURN 21 #define DEFAULT_PCC_STRUCT_RETURN 1 22 23 #undef TARGET_VERSION 24 #define TARGET_VERSION fprintf (stderr, " (QNX/Neutrino/i386 ELF)"); 25 26 #undef TARGET_OS_CPP_BUILTINS 27 #define TARGET_OS_CPP_BUILTINS() \ 28 do \ 29 { \ 30 builtin_define_std ("__X86__"); \ 31 builtin_define_std ("__QNXNTO__"); \ 32 builtin_define_std ("__QNX__"); \ 33 builtin_define_std ("__ELF__"); \ 34 builtin_define_std ("__LITTLEENDIAN__");\ 35 builtin_assert ("system=qnx"); \ 36 builtin_assert ("system=qnxnto"); \ 37 builtin_assert ("system=nto"); \ 38 builtin_assert ("system=unix"); \ 39 } \ 40 while (0) 41 42 #undef THREAD_MODEL_SPEC 43 #define THREAD_MODEL_SPEC "posix" 44 45 #ifdef CROSS_DIRECTORY_STRUCTURE 46 #define SYSROOT_SUFFIX_SPEC "x86" 47 #endif 48 49 #undef STARTFILE_SPEC 50 #define STARTFILE_SPEC \ 51 "%{!shared: \ 52 %{!symbolic: \ 53 %{pg:mcrt1.o%s} \ 54 %{!pg:%{p:mcrt1.o%s} \ 55 %{!p:crt1.o%s}}}} \ 56 crti.o%s \ 57 %{fexceptions: crtbegin.o%s} \ 58 %{!fexceptions: %R/lib/crtbegin.o}" 59 60 #undef ENDFILE_SPEC 61 #define ENDFILE_SPEC \ 62 "crtend.o%s crtn.o%s" 63 64 #undef LINK_SPEC 65 #define LINK_SPEC \ 66 "%{h*} %{v:-V} \ 67 %{b} \ 68 %{static:-dn -Bstatic} \ 69 %{shared:-G -dy -z text} \ 70 %{symbolic:-Bsymbolic -G -dy -z text} \ 71 %{G:-G} \ 72 %{YP,*} \ 73 %{!YP,*:%{p:-Y P,%R/lib} \ 74 %{!p:-Y P,%R/lib}} \ 75 %{Qy:} %{!Qn:-Qy} \ 76 -m i386nto \ 77 %{!shared: --dynamic-linker /usr/lib/ldqnx.so.2}" 78 79 80 #undef SIZE_TYPE 81 #define SIZE_TYPE "unsigned int" 82 83 #undef PTRDIFF_TYPE 84 #define PTRDIFF_TYPE "int" 85 86 #undef WCHAR_TYPE 87 #define WCHAR_TYPE "long unsigned int" 88 89 #undef WCHAR_TYPE_SIZE 90 #define WCHAR_TYPE_SIZE BITS_PER_WORD 91 92 #define NO_IMPLICIT_EXTERN_C 1 93 94