]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/sh/vxworks.h
host-hpux.c: Change copyright header to refer to version 3 of the GNU General Public...
[thirdparty/gcc.git] / gcc / config / sh / vxworks.h
CommitLineData
55047c9d
PE
1/* Definitions of target machine for GCC,
2 for SuperH with targeting the VXWorks run time environment.
2f83c7d6 3 Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
55047c9d
PE
4 Contributed by CodeSourcery, LLC.
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
2f83c7d6 10the Free Software Foundation; either version 3, or (at your option)
55047c9d
PE
11any later version.
12
13GCC is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
2f83c7d6
NC
19along with GCC; see the file COPYING3. If not see
20<http://www.gnu.org/licenses/>. */
55047c9d
PE
21
22
23#define TARGET_OS_CPP_BUILTINS() \
f5c7290e
RS
24 do \
25 { \
26 builtin_define ("CPU=SH7000"); \
27 VXWORKS_OS_CPP_BUILTINS (); \
28 } \
29 while (0)
30
31#undef SUBTARGET_OVERRIDE_OPTIONS
f0025c1f
RS
32#define SUBTARGET_OVERRIDE_OPTIONS \
33 do \
34 { \
35 VXWORKS_OVERRIDE_OPTIONS; \
36 /* The kernel loader cannot handle the relaxation \
37 relocations, so it cannot load kernel modules \
38 (which are ET_REL) or RTP executables (which are \
39 linked with --emit-relocs). No relaxation relocations \
40 appear in shared libraries, so relaxation is OK \
41 for RTP PIC. */ \
42 if (TARGET_RELAX && !(TARGET_VXWORKS_RTP && flag_pic)) \
43 error ("-mrelax is only supported for RTP PIC"); \
44 } \
45 while (0)
f5c7290e
RS
46
47#undef SUBTARGET_CPP_SPEC
48#define SUBTARGET_CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
49
50#undef SUBTARGET_LINK_EMUL_SUFFIX
51#define SUBTARGET_LINK_EMUL_SUFFIX "_vxworks"
52
53#undef LIB_SPEC
54#define LIB_SPEC VXWORKS_LIB_SPEC
55#undef LINK_SPEC
56#define LINK_SPEC VXWORKS_LINK_SPEC " " SH_LINK_SPEC
57#undef STARTFILE_SPEC
58#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
59#undef ENDFILE_SPEC
60#define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
61
62#undef TARGET_VERSION
55047c9d
PE
63#define TARGET_VERSION fputs (" (SH/VxWorks)", stderr);
64
65/* There is no default multilib. */
66#undef MULTILIB_DEFAULTS
f5c7290e
RS
67
68#undef FUNCTION_PROFILER
69#define FUNCTION_PROFILER VXWORKS_FUNCTION_PROFILER