1169689Skan/* IA32 VxWorks target definitions for GNU compiler.
2169689Skan   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
3169689Skan   Updated by CodeSourcery, LLC.
4132718Skan
5132718SkanThis file is part of GCC.
6132718Skan
7132718SkanGCC is free software; you can redistribute it and/or modify
8132718Skanit under the terms of the GNU General Public License as published by
9132718Skanthe Free Software Foundation; either version 2, or (at your option)
10132718Skanany later version.
11132718Skan
12132718SkanGCC is distributed in the hope that it will be useful,
13132718Skanbut WITHOUT ANY WARRANTY; without even the implied warranty of
14132718SkanMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15132718SkanGNU General Public License for more details.
16132718Skan
17132718SkanYou should have received a copy of the GNU General Public License
18132718Skanalong with GCC; see the file COPYING.  If not, write to
19169689Skanthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
20169689SkanBoston, MA 02110-1301, USA.  */
21132718Skan
22132718Skan#define HANDLE_SYSV_PRAGMA 1
23132718Skan
24132718Skan#undef  TARGET_VERSION
25132718Skan#define TARGET_VERSION fprintf (stderr, " (80586, VxWorks syntax)");
26132718Skan
27169689Skan#undef  ASM_SPEC
28169689Skan#define ASM_SPEC "%{v:-v} %{Qy:} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
29132718Skan
30169689Skan#define VXWORKS_CPU_DEFINE()				\
31169689Skan  do							\
32169689Skan    {							\
33169689Skan      if (TARGET_386)					\
34169689Skan        builtin_define ("CPU=I80386");			\
35169689Skan      else if (TARGET_486)				\
36169689Skan        builtin_define ("CPU=I80486");			\
37169689Skan      else if (TARGET_PENTIUM)				\
38169689Skan        {						\
39169689Skan          builtin_define ("CPU=PENTIUM");		\
40169689Skan          builtin_define ("CPU_VARIANT=PENTIUM");	\
41169689Skan        }						\
42169689Skan      else if (TARGET_PENTIUMPRO)			\
43169689Skan        {						\
44169689Skan          builtin_define ("CPU=PENTIUM2");		\
45169689Skan          builtin_define ("CPU_VARIANT=PENTIUMPRO");	\
46169689Skan        }						\
47169689Skan      else if (TARGET_PENTIUM4)				\
48169689Skan        {						\
49169689Skan          builtin_define ("CPU=PENTIUM4");		\
50169689Skan          builtin_define ("CPU_VARIANT=PENTIUM4");	\
51169689Skan        }						\
52169689Skan    }  							\
53169689Skan  while (0)
54132718Skan
55169689Skan#define TARGET_OS_CPP_BUILTINS()		\
56169689Skan  do						\
57169689Skan    {						\
58169689Skan      builtin_define ("__vxworks");		\
59169689Skan      builtin_define ("__VXWORKS__");		\
60169689Skan      builtin_assert ("system=unix");		\
61169689Skan						\
62169689Skan      VXWORKS_CPU_DEFINE();			\
63169689Skan    }						\
64169689Skan  while (0)
65132718Skan
66169689Skan#undef  CPP_SPEC
67169689Skan#define CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
68169689Skan#undef  LIB_SPEC
69169689Skan#define LIB_SPEC VXWORKS_LIB_SPEC
70169689Skan#undef  STARTFILE_SPEC
71169689Skan#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
72169689Skan#undef  ENDFILE_SPEC
73169689Skan#define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
74169689Skan#undef  LINK_SPEC
75169689Skan#define LINK_SPEC VXWORKS_LINK_SPEC
76132718Skan
77169689Skan#undef  SUBTARGET_SWITCHES
78169689Skan#define SUBTARGET_SWITCHES EXTRA_SUBTARGET_SWITCHES
79132718Skan
80169689Skan#undef SUBTARGET_OVERRIDE_OPTIONS
81169689Skan#define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS
82132718Skan
83169689Skan/* No _mcount profiling on VxWorks.  */
84169689Skan#undef FUNCTION_PROFILER
85169689Skan#define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO)
86