This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.15-446-g95443d8
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 20 Mar 2012 00:29:49 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.15-446-g95443d8
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 95443d88afbc732f39fa1d9d36b5adcea8606b54 (commit)
via 24d8f4b7dc85b8f4c8907527ec92c9d2e5fdce7c (commit)
from 490df6c44152fb9f4ade4963c60dfd82025ff2eb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=95443d88afbc732f39fa1d9d36b5adcea8606b54
commit 95443d88afbc732f39fa1d9d36b5adcea8606b54
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 19 17:29:26 2012 -0700
Use atomic64_t with 64bit atomic macros
diff --git a/ChangeLog b/ChangeLog
index bb13f6d..ae49456 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2012-03-19 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/bits/atomic.h
+ (__arch_c_compare_and_exchange_val_64_acq): Use atomic64_t on
+ 64bit integer.
+ (atomic_exchange_acq): Likewise.
+ (__arch_exchange_and_add_body): Likewise.
+ (__arch_add_body): Likewise.
+ (atomic_add_negative): Likewise.
+ (atomic_add_zero): Likewise.
+
+2012-03-19 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/bits/mathdef.h: Don't include <bits/wordsize.h>.
(fenv_t): Check __x86_64__ instead of __WORDSIZE.
diff --git a/sysdeps/x86_64/bits/atomic.h b/sysdeps/x86_64/bits/atomic.h
index 4b8d2ab..100943f 100644
--- a/sysdeps/x86_64/bits/atomic.h
+++ b/sysdeps/x86_64/bits/atomic.h
@@ -101,8 +101,8 @@ typedef uintmax_t uatomic_max_t;
"lock\n" \
"0:\tcmpxchgq %q2, %1" \
: "=a" (ret), "=m" (*mem) \
- : "q" ((long int) (newval)), "m" (*mem), \
- "0" ((long int)oldval), \
+ : "q" ((atomic64_t) (newval)), "m" (*mem), \
+ "0" ((atomic64_t) (oldval)), \
"i" (offsetof (tcbhead_t, multiple_threads))); \
ret; })
@@ -125,7 +125,7 @@ typedef uintmax_t uatomic_max_t;
else \
__asm __volatile ("xchgq %q0, %1" \
: "=r" (result), "=m" (*mem) \
- : "0" ((long) (newvalue)), "m" (*mem)); \
+ : "0" ((atomic64_t) (newvalue)), "m" (*mem)); \
result; })
@@ -149,7 +149,7 @@ typedef uintmax_t uatomic_max_t;
else \
__asm __volatile (lock "xaddq %q0, %1" \
: "=r" (result), "=m" (*mem) \
- : "0" ((long) (value)), "m" (*mem), \
+ : "0" ((atomic64_t) (value)), "m" (*mem), \
"i" (offsetof (tcbhead_t, multiple_threads))); \
result; })
@@ -187,7 +187,7 @@ typedef uintmax_t uatomic_max_t;
else \
__asm __volatile (lock "addq %q1, %0" \
: "=m" (*mem) \
- : "ir" ((long) (value)), "m" (*mem), \
+ : "ir" ((atomic64_t) (value)), "m" (*mem), \
"i" (offsetof (tcbhead_t, multiple_threads))); \
} while (0)
@@ -218,7 +218,7 @@ typedef uintmax_t uatomic_max_t;
else \
__asm __volatile (LOCK_PREFIX "addq %q2, %0; sets %1" \
: "=m" (*mem), "=qm" (__result) \
- : "ir" ((long) (value)), "m" (*mem)); \
+ : "ir" ((atomic64_t) (value)), "m" (*mem)); \
__result; })
@@ -239,7 +239,7 @@ typedef uintmax_t uatomic_max_t;
else \
__asm __volatile (LOCK_PREFIX "addq %q2, %0; setz %1" \
: "=m" (*mem), "=qm" (__result) \
- : "ir" ((long) (value)), "m" (*mem)); \
+ : "ir" ((atomic64_t) (value)), "m" (*mem)); \
__result; })
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=24d8f4b7dc85b8f4c8907527ec92c9d2e5fdce7c
commit 24d8f4b7dc85b8f4c8907527ec92c9d2e5fdce7c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 19 16:21:21 2012 -0700
Use __asm__("rsp") to get CURRENT_STACK_FRAME
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index ad4725f..ad345f9 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,10 @@
2012-03-19 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/pthreaddef.h (CURRENT_STACK_FRAME): Use
+ register char * __asm__("rsp") to get stack frame.
+
+2012-03-19 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (SYS_futex): Use
__NR_futex directly.
diff --git a/nptl/sysdeps/x86_64/pthreaddef.h b/nptl/sysdeps/x86_64/pthreaddef.h
index 7e45be4..50587b8 100644
--- a/nptl/sysdeps/x86_64/pthreaddef.h
+++ b/nptl/sysdeps/x86_64/pthreaddef.h
@@ -41,7 +41,7 @@
/* Location of current stack frame. The frame pointer is not usable. */
#define CURRENT_STACK_FRAME \
- ({ char *frame; asm ("movq %%rsp, %0" : "=r" (frame)); frame; })
+ ({ register char *frame __asm__("rsp"); frame; })
/* XXX Until we have a better place keep the definitions here. */
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 11 +++++++++++
nptl/ChangeLog | 5 +++++
nptl/sysdeps/x86_64/pthreaddef.h | 2 +-
sysdeps/x86_64/bits/atomic.h | 14 +++++++-------
4 files changed, 24 insertions(+), 8 deletions(-)
hooks/post-receive
--
GNU C Library master sources