summaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-01-17 00:50:24 +0000
committerUlrich Drepper <drepper@redhat.com>2002-01-17 00:50:24 +0000
commit956f8acd6cf6ce33193a679c7f34c1f71db5c94a (patch)
tree92c6ea70d3d49bf726653954d8f7d511d3c57b3f /linuxthreads
parentec562b3d7a7a60f9ae2f6fd9747c4972c02a15a5 (diff)
Update.
2002-01-16 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/pt-machine.h (MEMORY_BARRIER): Define. (CURRENT_STACK_FRAME): Remove duplicate definition. * sysdeps/s390/s390-64/pt-machine.h: Likewise.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog6
-rw-r--r--linuxthreads/sysdeps/s390/s390-32/pt-machine.h11
-rw-r--r--linuxthreads/sysdeps/s390/s390-64/pt-machine.h11
3 files changed, 16 insertions, 12 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index aa115ee3d7..a8a98e8031 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,9 @@
+2002-01-16 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * sysdeps/s390/s390-32/pt-machine.h (MEMORY_BARRIER): Define.
+ (CURRENT_STACK_FRAME): Remove duplicate definition.
+ * sysdeps/s390/s390-64/pt-machine.h: Likewise.
+
2002-01-14 Martin Schwidefsky <schwidefsky@de.ibm.com>
* Makefile (CFLAGS-tst-cancel.c): Add -fno-inline-functions to prevent
diff --git a/linuxthreads/sysdeps/s390/s390-32/pt-machine.h b/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
index 3afc9d5d60..f84ccdfc90 100644
--- a/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
+++ b/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
@@ -23,6 +23,11 @@
# define PT_EI extern inline
#endif
+/* For multiprocessor systems, we want to ensure all memory accesses
+ are completed before we reset a lock. On other systems, we still
+ need to make sure that the compiler has flushed everything to memory. */
+#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
+
/* Spinlock implementation; required. */
PT_EI long int
testandset (int *spinlock)
@@ -94,9 +99,3 @@ __compare_and_swap(long int *p, long int oldval, long int newval)
return retval == 0;
}
-
-
-/* Get some notion of the current stack. Need not be exactly the top
- of the stack, just something somewhere in the current frame. */
-#define CURRENT_STACK_FRAME stack_pointer
-register char * stack_pointer __asm__ ("%r15");
diff --git a/linuxthreads/sysdeps/s390/s390-64/pt-machine.h b/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
index f205c1245c..8b123352d9 100644
--- a/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
+++ b/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
@@ -23,6 +23,11 @@
# define PT_EI extern inline
#endif
+/* For multiprocessor systems, we want to ensure all memory accesses
+ are completed before we reset a lock. On other systems, we still
+ need to make sure that the compiler has flushed everything to memory. */
+#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
+
/* Spinlock implementation; required. */
PT_EI long int
testandset (int *spinlock)
@@ -99,9 +104,3 @@ __compare_and_swap(long int *p, long int oldval, long int newval)
return retval == 0;
}
-
-
-/* Get some notion of the current stack. Need not be exactly the top
- of the stack, just something somewhere in the current frame. */
-#define CURRENT_STACK_FRAME stack_pointer
-register char * stack_pointer __asm__ ("%r15");