Fix membar
authorDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sat, 13 Sep 2008 01:20:21 +0000 (01:20 +0000)
committerDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Sat, 13 Sep 2008 02:00:26 +0000 (02:00 +0000)
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/atomic.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/i386/membar.h [deleted file]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/atomic.h

index 3d46f83..5dab69f 100644 (file)
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-/* We need the full patch to atomic.h or we'll get include/atomic.h.  */
-#include "sysdeps/unix/sysv/solaris2/kopensolaris-gnu/atomic.h"
-#include <membar.h>
-
-/* TODO */
+#include <sys/atomic.h>
+/* This pulls in include/atomic.h rather than sysdeps/.../atomic.h.  */
+#include <atomic.h>
 
 void membar_enter ()
 {
-  __membar_enter ();
+  atomic_full_barrier ();
 }
 
-
 void membar_exit ()
 {
-  __membar_exit ();
+  atomic_full_barrier ();
 }
 
-
 void membar_producer ()
 {
-  __membar_producer ();
+  atomic_write_barrier ();
 }
 
-
 void membar_consumer ()
 {
-  __membar_consumer ();
+  atomic_read_barrier ();
 }
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/i386/membar.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/i386/membar.h
deleted file mode 100644 (file)
index 46b90d9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#define __membar_enter()       __asm ("lock")
-
-#define __membar_exit()                __asm ("lock")
-
-#define __membar_producer()    __asm ("lock")
-
-#define __membar_consumer()    __asm ("lock")
index 83c93d2..98da2c6 100644 (file)
@@ -17,8 +17,8 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#ifndef _ATOMIC_H
-#define _ATOMIC_H
+#ifndef _SYS_ATOMIC_H
+#define _SYS_ATOMIC_H
 
 #include <features.h>
 
@@ -31,4 +31,4 @@ extern void membar_consumer (void);
 
 __END_DECLS
 
-#endif /* _ATOMIC_H */
+#endif /* _SYS_ATOMIC_H */