diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-14 09:45:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-14 09:45:53 +0000 |
commit | 7f2936863ec9512b3cfc001c61873f096a520546 (patch) | |
tree | a5dd991f4116ba033a6ad27a272cad06a8d8f990 | |
parent | 365eccdb099f7cff2fdc589bef7be7806a4bc9c7 (diff) | |
download | glibc-7f2936863ec9512b3cfc001c61873f096a520546.tar.gz glibc-7f2936863ec9512b3cfc001c61873f096a520546.tar.xz glibc-7f2936863ec9512b3cfc001c61873f096a520546.zip |
(THREAD_GETMEM): Makr asms volatile. (THREAD_GETMEM_NC): Likewise.
-rw-r--r-- | nptl/sysdeps/x86_64/tls.h | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/nptl/sysdeps/x86_64/tls.h b/nptl/sysdeps/x86_64/tls.h index 69c8bc52e6..fb35b7b40a 100644 --- a/nptl/sysdeps/x86_64/tls.h +++ b/nptl/sysdeps/x86_64/tls.h @@ -156,13 +156,13 @@ typedef struct # define THREAD_GETMEM(descr, member) \ ({ __typeof (descr->member) __value; \ if (sizeof (__value) == 1) \ - asm ("movb %%fs:%P2,%b0" \ - : "=q" (__value) \ - : "0" (0), "i" (offsetof (struct pthread, member))); \ + asm volatile ("movb %%fs:%P2,%b0" \ + : "=q" (__value) \ + : "0" (0), "i" (offsetof (struct pthread, member))); \ else if (sizeof (__value) == 4) \ - asm ("movl %%fs:%P1,%0" \ - : "=r" (__value) \ - : "i" (offsetof (struct pthread, member))); \ + asm volatile ("movl %%fs:%P1,%0" \ + : "=r" (__value) \ + : "i" (offsetof (struct pthread, member))); \ else \ { \ if (sizeof (__value) != 8) \ @@ -170,9 +170,9 @@ typedef struct 4 or 8. */ \ abort (); \ \ - asm ("movq %%fs:%P1,%q0" \ - : "=r" (__value) \ - : "i" (offsetof (struct pthread, member))); \ + asm volatile ("movq %%fs:%P1,%q0" \ + : "=r" (__value) \ + : "i" (offsetof (struct pthread, member))); \ } \ __value; }) @@ -181,14 +181,14 @@ typedef struct # define THREAD_GETMEM_NC(descr, member, idx) \ ({ __typeof (descr->member[0]) __value; \ if (sizeof (__value) == 1) \ - asm ("movb %%fs:%P2(%q3),%b0" \ - : "=q" (__value) \ - : "0" (0), "i" (offsetof (struct pthread, member[0])), \ - "r" (idx)); \ + asm volatile ("movb %%fs:%P2(%q3),%b0" \ + : "=q" (__value) \ + : "0" (0), "i" (offsetof (struct pthread, member[0])), \ + "r" (idx)); \ else if (sizeof (__value) == 4) \ - asm ("movl %%fs:%P1(,%q2,4),%0" \ - : "=r" (__value) \ - : "i" (offsetof (struct pthread, member[0])), "r" (idx)); \ + asm volatile ("movl %%fs:%P1(,%q2,4),%0" \ + : "=r" (__value) \ + : "i" (offsetof (struct pthread, member[0])), "r" (idx));\ else \ { \ if (sizeof (__value) != 8) \ @@ -196,9 +196,10 @@ typedef struct 4 or 8. */ \ abort (); \ \ - asm ("movq %%fs:%P1(,%q2,8),%q0" \ - : "=r" (__value) \ - : "i" (offsetof (struct pthread, member[0])), "r" (idx)); \ + asm volatile ("movq %%fs:%P1(,%q2,8),%q0" \ + : "=r" (__value) \ + : "i" (offsetof (struct pthread, member[0])), \ + "r" (idx)); \ } \ __value; }) |