(root)/
gcc-13.2.0/
gcc/
config/
i386/
nto.h
       1  /* Definitions for Intel 386 running QNX/Neutrino.
       2     Copyright (C) 2002-2023 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_OS_CPP_BUILTINS
      24  #define TARGET_OS_CPP_BUILTINS()		\
      25    do						\
      26      {						\
      27          builtin_define ("__X86__");		\
      28          builtin_define ("__QNXNTO__");		\
      29          builtin_define ("__QNX__");		\
      30          builtin_define ("__ELF__");		\
      31          builtin_define ("__LITTLEENDIAN__");	\
      32          builtin_assert ("system=qnx");		\
      33          builtin_assert ("system=qnxnto");	\
      34          builtin_assert ("system=nto");		\
      35          builtin_assert ("system=unix");		\
      36      }						\
      37    while (0)
      38  
      39  #undef THREAD_MODEL_SPEC
      40  #define THREAD_MODEL_SPEC "posix"
      41  
      42  #ifdef CROSS_DIRECTORY_STRUCTURE
      43  #define SYSROOT_SUFFIX_SPEC "x86"
      44  #endif
      45  
      46  #ifndef CROSS_DIRECTORY_STRUCTURE
      47  #undef MD_EXEC_PREFIX
      48  #define MD_EXEC_PREFIX "/usr/ccs/bin/"
      49  
      50  #undef MD_STARTFILE_PREFIX
      51  #define MD_STARTFILE_PREFIX "/usr/ccs/lib/"
      52  #endif
      53  
      54  #undef STARTFILE_SPEC
      55  #define STARTFILE_SPEC \
      56  "%{!shared: \
      57    %{!symbolic: \
      58      %{pg:mcrt1.o%s} \
      59      %{!pg:%{p:mcrt1.o%s} \
      60      %{!p:crt1.o%s}}}} \
      61  crti.o%s \
      62  %{fexceptions: crtbegin.o%s} \
      63  %{!fexceptions: %R/lib/crtbegin.o}"
      64  
      65  #undef ENDFILE_SPEC
      66  #define ENDFILE_SPEC \
      67    "crtend.o%s crtn.o%s"
      68  
      69  #undef LINK_SPEC
      70  #define LINK_SPEC \
      71    "%{h*} %{v:-V} \
      72     %{static:-dn -Bstatic} \
      73     %{shared:-G -dy -z text} \
      74     %{symbolic:-Bsymbolic -G -dy -z text} \
      75     %{G:-G} \
      76     %{YP,*} \
      77     %{!YP,*:%{p:-Y P,%R/lib} \
      78      %{!p:-Y P,%R/lib}} \
      79     %{Qy:} %{!Qn:-Qy} \
      80     -m i386nto \
      81     %{!shared: --dynamic-linker /usr/lib/ldqnx.so.2}"
      82  
      83  #undef	LIB_SPEC
      84  #define LIB_SPEC "%{!shared:%{!symbolic:-lc}}"
      85  
      86  #undef  ASM_SPEC
      87  #define ASM_SPEC ""
      88  
      89  #undef SIZE_TYPE
      90  #define SIZE_TYPE "unsigned int"
      91  
      92  #undef PTRDIFF_TYPE
      93  #define PTRDIFF_TYPE "int"
      94  
      95  #undef WCHAR_TYPE
      96  #define WCHAR_TYPE "long unsigned int"
      97  
      98  #undef WCHAR_TYPE_SIZE
      99  #define WCHAR_TYPE_SIZE BITS_PER_WORD
     100  
     101  #define TARGET_POSIX_IO
     102  
     103  #undef DEBUGGER_REGNO