about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-09-19 06:12:37 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-09-19 06:12:37 -0700
commitae30640a32b8f4057ab32ec7a3f48f77c344b79e (patch)
tree822c4619e704702b7f0a3a6f496b15345c839772
parent63bbedd4c213736a88dd863bcbfe91cfe453ce03 (diff)
downloadglibc-ae30640a32b8f4057ab32ec7a3f48f77c344b79e.tar.gz
glibc-ae30640a32b8f4057ab32ec7a3f48f77c344b79e.tar.xz
glibc-ae30640a32b8f4057ab32ec7a3f48f77c344b79e.zip
Cast to uint64_t for 64-bit store
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/i386/tls.h4
2 files changed, 8 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 5d784a5f9c..ebb9048d1b 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2012-09-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/i386/tls.h (THREAD_SETMEM): Cast to uint64_t for
+	64-bit store.
+	(THREAD_SETMEM_NC): Likewise.
+
 2012-09-14  Jeff Law  <law@redhat.com>
 
 	[BZ #14583]
diff --git a/nptl/sysdeps/i386/tls.h b/nptl/sysdeps/i386/tls.h
index ab42708320..65497cf922 100644
--- a/nptl/sysdeps/i386/tls.h
+++ b/nptl/sysdeps/i386/tls.h
@@ -343,7 +343,7 @@ union user_desc_init
 									      \
 	 asm volatile ("movl %%eax,%%gs:%P1\n\t"			      \
 		       "movl %%edx,%%gs:%P2" :				      \
-		       : "A" (value),					      \
+		       : "A" ((uint64_t) (value)),			      \
 			 "i" (offsetof (struct pthread, member)),	      \
 			 "i" (offsetof (struct pthread, member) + 4));	      \
        }})
@@ -370,7 +370,7 @@ union user_desc_init
 									      \
 	 asm volatile ("movl %%eax,%%gs:%P1(,%2,8)\n\t"			      \
 		       "movl %%edx,%%gs:4+%P1(,%2,8)" :			      \
-		       : "A" (value),					      \
+		       : "A" ((uint64_t) (value)),			      \
 			 "i" (offsetof (struct pthread, member)),	      \
 			 "r" (idx));					      \
        }})