summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/s390/tls.h
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/s390/tls.h')
-rw-r--r--nptl/sysdeps/s390/tls.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/nptl/sysdeps/s390/tls.h b/nptl/sysdeps/s390/tls.h
index 3be459e32c..2b38ed4e7d 100644
--- a/nptl/sysdeps/s390/tls.h
+++ b/nptl/sysdeps/s390/tls.h
@@ -161,7 +161,12 @@ typedef struct
/* Set the stack guard field in TCB head. */
#define THREAD_SET_STACK_GUARD(value) \
- THREAD_SETMEM (THREAD_SELF, header.stack_guard, value)
+ do \
+ { \
+ __asm __volatile ("" : : : "a0", "a1"); \
+ THREAD_SETMEM (THREAD_SELF, header.stack_guard, value); \
+ } \
+ while (0)
#define THREAD_COPY_STACK_GUARD(descr) \
((descr)->header.stack_guard \
= THREAD_GETMEM (THREAD_SELF, header.stack_guard))