summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-11 16:52:47 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-11 16:52:47 +0000
commit2baac35187a10af6476e379630115b88b0827eb7 (patch)
treee180a2c0612e82e69dd834569c293bbbca8e9a14
parent90af1361e9fa1a9d6c2353d2e5d8c4a33e05e2bf (diff)
downloadgcc-2baac35187a10af6476e379630115b88b0827eb7.tar.gz
gcc/
* config/vxworks-dummy.h (TARGET_VXWORKS): Define. * config/vxworks.h (TARGET_VXWORKS): Override. * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define "mips" if TARGET_VXWORKS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127361 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/mips/mips.h11
-rw-r--r--gcc/config/vxworks-dummy.h5
-rw-r--r--gcc/config/vxworks.h4
4 files changed, 24 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 906930e5867..8afb826970c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2007-08-11 Richard Sandiford <richard@codesourcery.com>
+ * config/vxworks-dummy.h (TARGET_VXWORKS): Define.
+ * config/vxworks.h (TARGET_VXWORKS): Override.
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define
+ "mips" if TARGET_VXWORKS.
+
+2007-08-11 Richard Sandiford <richard@codesourcery.com>
+
* calls.c (avoid_likely_spilled_reg): New function.
(expand_call): Use it.
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 7c2f548c3ad..564f8bc0a2d 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -357,9 +357,14 @@ extern enum mips_code_readable_setting mips_code_readable;
builtin_define ("__mips__"); \
builtin_define ("_mips"); \
\
- /* We do this here because __mips is defined below \
- and so we can't use builtin_define_std. */ \
- if (!flag_iso) \
+ /* We do this here because __mips is defined below and so we \
+ can't use builtin_define_std. We don't ever want to define \
+ "mips" for VxWorks because some of the VxWorks headers \
+ construct include filenames from a root directory macro, \
+ an architecture macro and a filename, where the architecture \
+ macro expands to 'mips'. If we define 'mips' to 1, the \
+ architecture macro expands to 1 as well. */ \
+ if (!flag_iso && !TARGET_VXWORKS) \
builtin_define ("mips"); \
\
if (TARGET_64BIT) \
diff --git a/gcc/config/vxworks-dummy.h b/gcc/config/vxworks-dummy.h
index 8c3d7d1287d..f310d0808d3 100644
--- a/gcc/config/vxworks-dummy.h
+++ b/gcc/config/vxworks-dummy.h
@@ -17,6 +17,11 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
+/* True if we're targetting VxWorks. */
+#ifndef TARGET_VXWORKS
+#define TARGET_VXWORKS 0
+#endif
+
/* True if generating code for a VxWorks RTP. */
#ifndef TARGET_VXWORKS_RTP
#define TARGET_VXWORKS_RTP false
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index 64ff2200ccf..322260d863a 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -20,6 +20,10 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
+/* Assert that we are targetting VxWorks. */
+#undef TARGET_VXWORKS
+#define TARGET_VXWORKS 1
+
/* In kernel mode, VxWorks provides all the libraries itself, as well as
the functionality of startup files, etc. In RTP mode, it behaves more
like a traditional Unix, with more external files. Most of our specs