summaryrefslogtreecommitdiff
path: root/defines.h
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-01-04 14:20:35 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-01-04 14:20:35 +0000
commit1d6e0f8281a3b00829f8360c9fcf58b69788d401 (patch)
tree4026a4e1e49de6e28ee6c420b22d89328f7efb09 /defines.h
parent566aa6625327e534c4941f2c2b6ca6c4f06162f3 (diff)
forgot to commit everything bug ChangeLog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'defines.h')
-rw-r--r--defines.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/defines.h b/defines.h
index e4ae64839e..f566332334 100644
--- a/defines.h
+++ b/defines.h
@@ -49,11 +49,15 @@
#define EXTERN extern
#endif
-#ifdef sparc
-#define FLUSH_REGISTER_WINDOWS asm("ta 3")
-#else
-#define FLUSH_REGISTER_WINDOWS /* empty */
-#endif
+#if defined(sparc) || defined(__sparc__)
+# if defined(linux) || defined(__linux__)
+#define FLUSH_REGISTER_WINDOWS asm("ta 0x83")
+# else /* Solaris, not sparc linux */
+#define FLUSH_REGISTER_WINDOWS asm("ta 0x03")
+# endif /* trap always to flush register windows if we are on a Sparc system */
+#else /* Not a sparc, so */
+#define FLUSH_REGISTER_WINDOWS /* empty -- nothing to do here */
+#endif
#if defined(MSDOS) || defined(_WIN32) || defined(__human68k__) || defined(__EMX__)
#define DOSISH 1