OSDN Git Service

PR target/49687
[pf3gnuchains/gcc-fork.git] / gcc / config / i386 / vxworks.h
1 /* IA32 VxWorks target definitions for GNU compiler.
2    Copyright (C) 2003, 2004, 2005, 2007, 2010, 2011
3    Free Software Foundation, Inc.
4    Updated by CodeSourcery, LLC.
5
6 This file is part of GCC.
7
8 GCC is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
12
13 GCC is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3.  If not see
20 <http://www.gnu.org/licenses/>.  */
21
22 #undef  ASM_SPEC
23 #define ASM_SPEC ""
24
25 #define TARGET_OS_CPP_BUILTINS()                        \
26   do                                                    \
27     {                                                   \
28       VXWORKS_OS_CPP_BUILTINS ();                       \
29       if (TARGET_386)                                   \
30         builtin_define ("CPU=I80386");                  \
31       else if (TARGET_486)                              \
32         builtin_define ("CPU=I80486");                  \
33       else if (TARGET_PENTIUM)                          \
34         {                                               \
35           builtin_define ("CPU=PENTIUM");               \
36           builtin_define ("CPU_VARIANT=PENTIUM");       \
37         }                                               \
38       else if (TARGET_PENTIUMPRO)                       \
39         {                                               \
40           builtin_define ("CPU=PENTIUM2");              \
41           builtin_define ("CPU_VARIANT=PENTIUMPRO");    \
42         }                                               \
43       else if (TARGET_PENTIUM4)                         \
44         {                                               \
45           builtin_define ("CPU=PENTIUM4");              \
46           builtin_define ("CPU_VARIANT=PENTIUM4");      \
47         }                                               \
48     }                                                   \
49   while (0)
50
51 #undef  CPP_SPEC
52 #define CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
53 #undef  LIB_SPEC
54 #define LIB_SPEC VXWORKS_LIB_SPEC
55 #undef  STARTFILE_SPEC
56 #define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
57 #undef  ENDFILE_SPEC
58 #define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
59 #undef  LINK_SPEC
60 #define LINK_SPEC VXWORKS_LINK_SPEC
61
62 #undef  SUBTARGET_SWITCHES
63 #define SUBTARGET_SWITCHES EXTRA_SUBTARGET_SWITCHES
64
65 #undef SUBTARGET_OVERRIDE_OPTIONS
66 #define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS
67
68 /* No _mcount profiling on VxWorks.  */
69 #undef FUNCTION_PROFILER
70 #define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO)
71
72 /* We cannot use PC-relative accesses for VxWorks PIC because there is no
73    fixed gap between segments.  */
74 #undef ASM_PREFERRED_EH_DATA_FORMAT