summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root>2013-07-04 22:32:23 +0000
committerroot <root>2013-07-04 22:32:23 +0000
commit14b81829878cc011352c656ccb88d6fab2d2e410 (patch)
treea7ad277e35e82f67659e3ee058e775f7b2a1870e
parentcc40b331f4f55f5a9328c52e646ac8998b8d2f62 (diff)
*** empty log message ***
-rw-r--r--ev.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ev.c b/ev.c
index 2fef11c..a818418 100644
--- a/ev.c
+++ b/ev.c
@@ -629,7 +629,9 @@ struct signalfd_siginfo
#elif defined __s390__ || defined __s390x__
#define ECB_MEMORY_FENCE __asm__ __volatile__ ("bcr 15,0" : : : "memory")
#elif defined __mips__
- #define ECB_MEMORY_FENCE __asm__ __volatile__ ("sync" : : : "memory")
+ /* GNU/Linux emulates sync on mips1 architectures, so we force it's use */
+ /* anybody else who still uses mips1 is supposed to send in their version, with detection code. */
+ #define ECB_MEMORY_FENCE __asm__ __volatile__ (".set mips2; sync; .set mips0" : : : "memory")
#elif defined __alpha__
#define ECB_MEMORY_FENCE __asm__ __volatile__ ("mb" : : : "memory")
#elif defined __hppa__