(root)/
gcc-13.2.0/
gcc/
config/
i386/
lynx.h
       1  /* Definitions for LynxOS on i386.
       2     Copyright (C) 1993-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  #define TARGET_OS_CPP_BUILTINS()		\
      21    do						\
      22      {						\
      23        builtin_define ("__LITTLE_ENDIAN__");	\
      24        builtin_define ("__x86__");		\
      25      }						\
      26    while (0)
      27  
      28  /* The svr4 ABI for the i386 says that records and unions are returned
      29     in memory.  */
      30  
      31  #define DEFAULT_PCC_STRUCT_RETURN 1
      32  
      33  /* BSS_SECTION_ASM_OP gets defined i386/unix.h.  */
      34  
      35  #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
      36    asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
      37  
      38  /* LynxOS's GDB counts the floating point registers from 16.  */
      39  
      40  #undef DEBUGGER_REGNO
      41  #define DEBUGGER_REGNO(n)						\
      42    (TARGET_64BIT ? debugger64_register_map[n]					\
      43     : (n) == 0 ? 0							\
      44     : (n) == 1 ? 2							\
      45     : (n) == 2 ? 1							\
      46     : (n) == 3 ? 3							\
      47     : (n) == 4 ? 6							\
      48     : (n) == 5 ? 7							\
      49     : (n) == 6 ? 5							\
      50     : (n) == 7 ? 4							\
      51     : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (int) (n) + 8	\
      52     : (-1))
      53  
      54  /* Undefine SUBTARGET_EXTRA_SPECS it is empty anyway.  We define it in
      55     config/lynx.h.  */
      56  
      57  #undef SUBTARGET_EXTRA_SPECS
      58  
      59  /* Undefine the definition from att.h to enable our default.  */
      60  
      61  #undef ASM_OUTPUT_ALIGN
      62  
      63  /* The file i386.cc defines TARGET_HAVE_TLS unconditionally if
      64     HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
      65     TLS is detected by configure.  We undefine it here.  */
      66  
      67  #undef HAVE_AS_TLS