110d565efSmrg /* Definitions of target machine for GNU compiler,
210d565efSmrg    for SPARC targeting the VxWorks run time environment.
3*ec02198aSmrg    Copyright (C) 2007-2020 Free Software Foundation, Inc.
410d565efSmrg 
510d565efSmrg This file is part of GCC.
610d565efSmrg 
710d565efSmrg GCC is free software; you can redistribute it and/or modify
810d565efSmrg it under the terms of the GNU General Public License as published by
910d565efSmrg the Free Software Foundation; either version 3, or (at your option)
1010d565efSmrg any later version.
1110d565efSmrg 
1210d565efSmrg GCC is distributed in the hope that it will be useful,
1310d565efSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of
1410d565efSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1510d565efSmrg GNU General Public License for more details.
1610d565efSmrg 
1710d565efSmrg You should have received a copy of the GNU General Public License
1810d565efSmrg along with GCC; see the file COPYING3.  If not see
1910d565efSmrg <http://www.gnu.org/licenses/>.  */
2010d565efSmrg 
2110d565efSmrg #define TARGET_OS_CPP_BUILTINS()		\
2210d565efSmrg   do						\
2310d565efSmrg     {						\
2410d565efSmrg       builtin_define ("__sparc");		\
2510d565efSmrg       builtin_define ("CPU=SIMSPARCSOLARIS");	\
2610d565efSmrg       VXWORKS_OS_CPP_BUILTINS ();		\
2710d565efSmrg     }						\
2810d565efSmrg   while (0)
2910d565efSmrg 
3010d565efSmrg #undef SUBTARGET_OVERRIDE_OPTIONS
3110d565efSmrg #define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS
3210d565efSmrg 
3310d565efSmrg #undef CPP_SUBTARGET_SPEC
3410d565efSmrg #define CPP_SUBTARGET_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
3510d565efSmrg 
3610d565efSmrg #undef ASM_SPEC
3710d565efSmrg #define ASM_SPEC "%{" FPIE_OR_FPIC_SPEC ":-K PIC} %(asm_cpu)"
3810d565efSmrg 
3910d565efSmrg #undef LIB_SPEC
4010d565efSmrg #define LIB_SPEC VXWORKS_LIB_SPEC
4110d565efSmrg #undef LINK_SPEC
4210d565efSmrg #define LINK_SPEC VXWORKS_LINK_SPEC
4310d565efSmrg #undef STARTFILE_SPEC
4410d565efSmrg #define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
4510d565efSmrg #undef ENDFILE_SPEC
4610d565efSmrg #define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
4710d565efSmrg 
4810d565efSmrg #undef FUNCTION_PROFILER
4910d565efSmrg #define FUNCTION_PROFILER VXWORKS_FUNCTION_PROFILER
5010d565efSmrg 
5110d565efSmrg /* Use standard numbered ctors/dtors sections.  */
5210d565efSmrg #undef CTORS_SECTION_ASM_OP
5310d565efSmrg #undef DTORS_SECTION_ASM_OP
5410d565efSmrg 
5510d565efSmrg /* We cannot use PC-relative accesses for VxWorks PIC because there is no
5610d565efSmrg    fixed gap between segments.  */
5710d565efSmrg #undef ASM_PREFERRED_EH_DATA_FORMAT
5810d565efSmrg 
5910d565efSmrg /* Define this to be nonzero if static stack checking is supported.  */
6010d565efSmrg #define STACK_CHECK_STATIC_BUILTIN 1
6110d565efSmrg 
6210d565efSmrg /* This platform supports the probing method of stack checking (RTP mode).
6310d565efSmrg    8K is reserved in the stack to propagate exceptions in case of overflow.  */
6410d565efSmrg #define STACK_CHECK_PROTECT 8192
65