summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libitm/ChangeLog5
-rw-r--r--libitm/config/linux/x86/tls.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index f27ff2fab44..864b966fbf9 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,5 +1,10 @@
2011-10-19 Torvald Riegel <triegel@redhat.com>
+ * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
+ (gtm_thr): Same.
+
+2011-10-19 Torvald Riegel <triegel@redhat.com>
+
* libitm_i.h: Add gl_wt dispatch.
* retry.cc (parse_default_method): Same.
* method-gl.cc: New file.
diff --git a/libitm/config/linux/x86/tls.h b/libitm/config/linux/x86/tls.h
index 3d247e33e80..2525f3678ad 100644
--- a/libitm/config/linux/x86/tls.h
+++ b/libitm/config/linux/x86/tls.h
@@ -72,7 +72,7 @@ namespace GTM HIDDEN {
static inline struct gtm_thread *gtm_thr(void)
{
struct gtm_thread *r;
- asm (SEG_READ(10) : "=r"(r));
+ asm volatile (SEG_READ(10) : "=r"(r));
return r;
}
@@ -84,7 +84,7 @@ static inline void set_gtm_thr(struct gtm_thread *x)
static inline struct abi_dispatch *abi_disp(void)
{
struct abi_dispatch *r;
- asm (SEG_DECODE_READ(11) : "=r"(r));
+ asm volatile (SEG_DECODE_READ(11) : "=r"(r));
return r;
}