This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, hjl/x32/master, updated. glibc-2.15-550-g7953534
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 20 Mar 2012 00:57:40 -0000
- Subject: GNU C Library master sources branch, hjl/x32/master, updated. glibc-2.15-550-g7953534
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, hjl/x32/master has been updated
via 7953534570e86b073fe060f181022025033b714c (commit)
via 6ec8b75453bad28f643bd355fa3a88e9c2a0bcbd (commit)
via c27225516c2205a2d9f7b9db18a5105a33adbce9 (commit)
via 95443d88afbc732f39fa1d9d36b5adcea8606b54 (commit)
via 24d8f4b7dc85b8f4c8907527ec92c9d2e5fdce7c (commit)
via 490df6c44152fb9f4ade4963c60dfd82025ff2eb (commit)
via 5e52b189f0a3b74605044950f40fca8d289a200c (commit)
via e1497744f0b7a737684e61509874d3b8a98d05e2 (commit)
via a9879d4cde1ac5505c0ff097c4d0d6e66f1ecb83 (commit)
via b4c35121c4e62bcb0d774d56896a3e2868645faa (commit)
via 5df98260fe6718703cef3b5d337ec9f5d41eb815 (commit)
via 4adaaafc9e0909107bb931d28fc2c48ce0a4de05 (commit)
via 09645f378e8d4071cab593de0d273496fb2aed48 (commit)
via ca7b8af5dbd23ecb9549228075327ae6d547d206 (commit)
via 56965fd71c5484cab6f817851b0f89fcbe3243d3 (commit)
via 1897ad44326bb7761dcda46132ae303f7288aba9 (commit)
via 7726d6a95d5a2c08c8d43186002f040b9b889c27 (commit)
via 83d1aec8fc5f4250e6d5f44eeef30c923e140ca4 (commit)
via bd37f2ee314147c69a39817d590149cf1181ef47 (commit)
via d0adc9223031b606c3c7781b4ec41462796ab313 (commit)
via 0fe0f1f86f82f9e08ca4d4b85111de03f4c2f876 (commit)
via eb92c487b35e26aa1e08815c4480d0bc5cc9f370 (commit)
via 7d2e8012cfb4fa30086ef330ef1b993cfcc3dd99 (commit)
via b4dabbb47a174e1075b5b93f29093319eab69f2c (commit)
via 4851a949b4cd1f280b56a728c784aaa85e51124c (commit)
via e79d442ee64ef2426ddd29a1fe1174108e845b69 (commit)
via 90b80344c617b465c731b3db1deefea3fa1172d6 (commit)
via 258ca8d9038d484532d3875a93910a5329aff430 (commit)
via 6861fb0f6a7f641dfb7db21f237469bd7adea598 (commit)
via 43b0d50690f16e1b71700689db79eb335e4c6714 (commit)
via 77e927affd576fcbb751144f60b098b7f0427045 (commit)
via 7e7fa5f8719c0a497f4b262e6fb5625c13b6c22e (commit)
via 374976dd138bd4d74608d5658c84c0e257716d0b (commit)
via edc218041ef05fde20a7f7e6b24033a72deedce1 (commit)
via 473c3ef32563ec57aeb0e204e2b0662fe80d2c18 (commit)
via eb0f39b6b770a421ed297bd625b1875a0f7fbaad (commit)
via 6b6cd74babd854923cf1ecb545f8902ecee56419 (commit)
via f1a77b01f4e3a80782171297120e77ab112ce85d (commit)
via c0c83bc8b299b08c4c0c5129da9a28ba740f087a (commit)
from 5e94aad2e687b98bc0c0fd6feb8338a16e480860 (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=7953534570e86b073fe060f181022025033b714c
commit 7953534570e86b073fe060f181022025033b714c
Merge: 6ec8b75 c272255
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 19 17:55:26 2012 -0700
Merge remote-tracking branch 'origin/master' into hjl/x32/master
Conflicts:
nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
nptl/sysdeps/x86_64/pthreaddef.h
sysdeps/x86_64/bits/atomic.h
sysdeps/x86_64/bits/mathdef.h
sysdeps/x86_64/fpu/bits/fenv.h
sysdeps/x86_64/fpu/math_private.h
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=6ec8b75453bad28f643bd355fa3a88e9c2a0bcbd
commit 6ec8b75453bad28f643bd355fa3a88e9c2a0bcbd
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 19 17:51:53 2012 -0700
Use __builtin_bswap[32|64] if GCC >= 4.2
2012-03-19 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/bits/byteswap.h: Include <features.h>.
(__bswap_32): Use __builtin_bswap32 if GCC >= 4.2.
(__bswap_64): Use __builtin_bswap64 if GCC >= 4.2.
* sysdeps/x86_64/bits/byteswap.h: Include <features.h>.
(__bswap_32): Use __builtin_bswap32 if GCC >= 4.2.
(__bswap_64): Use __builtin_bswap64 if GCC >= 4.2.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 11ad429..89d01ca 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,3 +1,13 @@
+2012-03-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/i386/bits/byteswap.h: Include <features.h>.
+ (__bswap_32): Use __builtin_bswap32 if GCC >= 4.2.
+ (__bswap_64): Use __builtin_bswap64 if GCC >= 4.2.
+
+ * sysdeps/x86_64/bits/byteswap.h: Include <features.h>.
+ (__bswap_32): Use __builtin_bswap32 if GCC >= 4.2.
+ (__bswap_64): Use __builtin_bswap64 if GCC >= 4.2.
+
2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/bits/byteswap.h: Include <bits/wordsize.h>.
diff --git a/sysdeps/i386/bits/byteswap.h b/sysdeps/i386/bits/byteswap.h
index 4a159d1..64a58ff 100644
--- a/sysdeps/i386/bits/byteswap.h
+++ b/sysdeps/i386/bits/byteswap.h
@@ -24,6 +24,8 @@
#ifndef _BITS_BYTESWAP_H
#define _BITS_BYTESWAP_H 1
+#include <features.h>
+
/* Swap bytes in 16 bit value. */
#define __bswap_constant_16(x) \
((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
@@ -61,42 +63,8 @@ __bswap_16 (unsigned short int __bsx)
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
-#ifdef __GNUC__
-# if __GNUC__ >= 2
-/* To swap the bytes in a word the i486 processors and up provide the
- `bswap' opcode. On i386 we have to use three instructions. */
-# if !defined __i486__ && !defined __pentium__ && !defined __pentiumpro__ \
- && !defined __pentium4__ && !defined __k8__ && !defined __athlon__ \
- && !defined __k6__ && !defined __nocona__ && !defined __core2__ \
- && !defined __geode__ && !defined __amdfam10__
-# define __bswap_32(x) \
- (__extension__ \
- ({ register unsigned int __v, __x = (x); \
- if (__builtin_constant_p (__x)) \
- __v = __bswap_constant_32 (__x); \
- else \
- __asm__ ("rorw $8, %w0;" \
- "rorl $16, %0;" \
- "rorw $8, %w0" \
- : "=r" (__v) \
- : "0" (__x) \
- : "cc"); \
- __v; }))
-# else
-# define __bswap_32(x) \
- (__extension__ \
- ({ register unsigned int __v, __x = (x); \
- if (__builtin_constant_p (__x)) \
- __v = __bswap_constant_32 (__x); \
- else \
- __asm__ ("bswap %0" : "=r" (__v) : "0" (__x)); \
- __v; }))
-# endif
-# else
-# define __bswap_32(x) \
- (__extension__ \
- ({ register unsigned int __x = (x); __bswap_constant_32 (__x); }))
-# endif
+#if __GNUC_PREREQ (4,2)
+# define __bswap_32(x) __builtin_bswap32 (x)
#else
static __inline unsigned int
__bswap_32 (unsigned int __bsx)
@@ -108,7 +76,10 @@ __bswap_32 (unsigned int __bsx)
#if defined __GNUC__ && __GNUC__ >= 2
/* Swap bytes in 64 bit value. */
-# define __bswap_constant_64(x) \
+# if __GNUC_PREREQ (4,2)
+# define __bswap_64(x) __builtin_bswap64 (x)
+# else
+# define __bswap_constant_64(x) \
(__extension__ ((((x) & 0xff00000000000000ull) >> 56) \
| (((x) & 0x00ff000000000000ull) >> 40) \
| (((x) & 0x0000ff0000000000ull) >> 24) \
@@ -118,7 +89,7 @@ __bswap_32 (unsigned int __bsx)
| (((x) & 0x000000000000ff00ull) << 40) \
| (((x) & 0x00000000000000ffull) << 56)))
-# define __bswap_64(x) \
+# define __bswap_64(x) \
(__extension__ \
({ union { __extension__ unsigned long long int __ll; \
unsigned long int __l[2]; } __w, __r; \
@@ -131,6 +102,7 @@ __bswap_32 (unsigned int __bsx)
__r.__l[1] = __bswap_32 (__w.__l[0]); \
} \
__r.__ll; }))
+# endif
#endif
#endif /* _BITS_BYTESWAP_H */
diff --git a/sysdeps/x86_64/bits/byteswap.h b/sysdeps/x86_64/bits/byteswap.h
index ba3c599..d570d0c 100644
--- a/sysdeps/x86_64/bits/byteswap.h
+++ b/sysdeps/x86_64/bits/byteswap.h
@@ -24,6 +24,7 @@
#ifndef _BITS_BYTESWAP_H
#define _BITS_BYTESWAP_H 1
+#include <features.h>
#include <bits/wordsize.h>
/* Swap bytes in 16 bit value. */
@@ -56,36 +57,8 @@
((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
-#if defined __GNUC__ && __GNUC__ >= 2
-# if defined __x86_64__ || defined __i486__ || defined __pentium__ \
- || defined __pentiumpro__ || defined __pentium4__ || defined __k8__ \
- || defined __athlon__ || defined __k6__ || defined __nocona__ \
- || defined __core2__ || defined __geode__ || defined __amdfam10__
-/* To swap the bytes in a word the i486 processors and up provide the
- `bswap' opcode. On i386 we have to use three instructions. */
-# define __bswap_32(x) \
- (__extension__ \
- ({ register unsigned int __v, __x = (x); \
- if (__builtin_constant_p (__x)) \
- __v = __bswap_constant_32 (__x); \
- else \
- __asm__ ("bswap %0" : "=r" (__v) : "0" (__x)); \
- __v; }))
-# else
-# define __bswap_32(x) \
- (__extension__ \
- ({ register unsigned int __v, __x = (x); \
- if (__builtin_constant_p (__x)) \
- __v = __bswap_constant_32 (__x); \
- else \
- __asm__ ("rorw $8, %w0;" \
- "rorl $16, %0;" \
- "rorw $8, %w0" \
- : "=r" (__v) \
- : "0" (__x) \
- : "cc"); \
- __v; }))
-# endif
+#if __GNUC_PREREQ (4,2)
+# define __bswap_32(x) __builtin_bswap32 (x)
#else
# define __bswap_32(x) \
(__extension__ \
@@ -95,7 +68,10 @@
#if defined __GNUC__ && __GNUC__ >= 2
/* Swap bytes in 64 bit value. */
-# define __bswap_constant_64(x) \
+# if __GNUC_PREREQ (4,2)
+# define __bswap_64(x) __builtin_bswap64 (x)
+# else
+# define __bswap_constant_64(x) \
(__extension__ ((((x) & 0xff00000000000000ull) >> 56) \
| (((x) & 0x00ff000000000000ull) >> 40) \
| (((x) & 0x0000ff0000000000ull) >> 24) \
@@ -105,22 +81,17 @@
| (((x) & 0x000000000000ff00ull) << 40) \
| (((x) & 0x00000000000000ffull) << 56)))
-# ifdef __x86_64__
# if __WORDSIZE == 64
-# define __bswap_64_uint64 unsigned long int
-# else
-# define __bswap_64_uint64 unsigned long long int
-# endif
-# define __bswap_64(x) \
+# define __bswap_64(x) \
(__extension__ \
- ({ register __bswap_64_uint64 __v, __x = (x); \
+ ({ register unsigned long __v, __x = (x); \
if (__builtin_constant_p (__x)) \
__v = __bswap_constant_64 (__x); \
else \
__asm__ ("bswap %q0" : "=r" (__v) : "0" (__x)); \
__v; }))
-# else
-# define __bswap_64(x) \
+# else
+# define __bswap_64(x) \
(__extension__ \
({ union { __extension__ unsigned long long int __ll; \
unsigned int __l[2]; } __w, __r; \
@@ -133,6 +104,7 @@
__r.__l[1] = __bswap_32 (__w.__l[0]); \
} \
__r.__ll; }))
+# endif
# endif
#endif
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=09645f378e8d4071cab593de0d273496fb2aed48
commit 09645f378e8d4071cab593de0d273496fb2aed48
Merge: 258ca8d ca7b8af
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 19 14:28:22 2012 -0700
Merge remote-tracking branch 'origin/master' into hjl/x32/master
Conflicts:
sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c
sysdeps/unix/sysv/linux/i386/readelflib.c
sysdeps/x86_64/ffsll.c
sysdeps/x86_64/fpu/math_private.h
diff --cc sysdeps/x86_64/fpu/math_private.h
index ba4d8f3,67c5f6a..d6d8939
--- a/sysdeps/x86_64/fpu/math_private.h
+++ b/sysdeps/x86_64/fpu/math_private.h
@@@ -29,21 -10,17 +10,17 @@@
#endif
/* Direct movement of float into integer register. */
- #undef EXTRACT_WORDS64
#define EXTRACT_WORDS64(i, d) \
do { \
- long int i_; \
+ long long int i_; \
asm (MOVD " %1, %0" : "=rm" (i_) : "x" ((double) (d))); \
(i) = i_; \
} while (0)
/* And the reverse. */
- #undef INSERT_WORDS64
#define INSERT_WORDS64(d, i) \
do { \
- long int i_ = i; \
+ long long int i_ = i; \
double d__; \
asm (MOVD " %1, %0" : "=x" (d__) : "rm" (i_)); \
d = d__; \
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=258ca8d9038d484532d3875a93910a5329aff430
commit 258ca8d9038d484532d3875a93910a5329aff430
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Mar 17 14:52:32 2012 -0700
Use __bswap_64_uint64 in __bswap_64
2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/bits/byteswap.h: Include <bits/wordsize.h>.
Don't check __corei7__.
(__bswap_64): Replace unsigned long long int with
__bswap_64_uint64.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 0bb1f20..11ad429 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,12 @@
2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/bits/byteswap.h: Include <bits/wordsize.h>.
+ Don't check __corei7__.
+ (__bswap_64): Replace unsigned long long int with
+ __bswap_64_uint64.
+
+2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/64/bits/wordsize.h (__GNUC_PREREQ): Removed.
(__WORDSIZE): Check __GNUC__ directly.
* sysdeps/x86_64/x32/bits/wordsize.h: Likewise.
diff --git a/sysdeps/x86_64/bits/byteswap.h b/sysdeps/x86_64/bits/byteswap.h
index 5ca4208..ba3c599 100644
--- a/sysdeps/x86_64/bits/byteswap.h
+++ b/sysdeps/x86_64/bits/byteswap.h
@@ -24,6 +24,8 @@
#ifndef _BITS_BYTESWAP_H
#define _BITS_BYTESWAP_H 1
+#include <bits/wordsize.h>
+
/* Swap bytes in 16 bit value. */
#define __bswap_constant_16(x) \
((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
@@ -58,8 +60,7 @@
# if defined __x86_64__ || defined __i486__ || defined __pentium__ \
|| defined __pentiumpro__ || defined __pentium4__ || defined __k8__ \
|| defined __athlon__ || defined __k6__ || defined __nocona__ \
- || defined __core2__ || defined __corei7__ || defined __geode__ \
- || defined __amdfam10__
+ || defined __core2__ || defined __geode__ || defined __amdfam10__
/* To swap the bytes in a word the i486 processors and up provide the
`bswap' opcode. On i386 we have to use three instructions. */
# define __bswap_32(x) \
@@ -105,9 +106,14 @@
| (((x) & 0x00000000000000ffull) << 56)))
# ifdef __x86_64__
+# if __WORDSIZE == 64
+# define __bswap_64_uint64 unsigned long int
+# else
+# define __bswap_64_uint64 unsigned long long int
+# endif
# define __bswap_64(x) \
(__extension__ \
- ({ register unsigned long long int __v, __x = (x); \
+ ({ register __bswap_64_uint64 __v, __x = (x); \
if (__builtin_constant_p (__x)) \
__v = __bswap_constant_64 (__x); \
else \
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=6861fb0f6a7f641dfb7db21f237469bd7adea598
commit 6861fb0f6a7f641dfb7db21f237469bd7adea598
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Mar 17 09:25:28 2012 -0700
Check __GNUC__ directly for __WORDSIZE
2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/64/bits/wordsize.h (__GNUC_PREREQ): Removed.
(__WORDSIZE): Check __GNUC__ directly.
* sysdeps/x86_64/x32/bits/wordsize.h: Likewise.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 075189b..0bb1f20 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,5 +1,11 @@
2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/x86_64/64/bits/wordsize.h (__GNUC_PREREQ): Removed.
+ (__WORDSIZE): Check __GNUC__ directly.
+ * sysdeps/x86_64/x32/bits/wordsize.h: Likewise.
+
+2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
* sysdeps/x86_64/sysdep.h (MOVE_LP): Removed.
(ADD_LP): Likewise.
(SUB_LP): Likewise.
diff --git a/sysdeps/x86_64/64/bits/wordsize.h b/sysdeps/x86_64/64/bits/wordsize.h
index 85e6662..3841a2b 100644
--- a/sysdeps/x86_64/64/bits/wordsize.h
+++ b/sysdeps/x86_64/64/bits/wordsize.h
@@ -1,16 +1,9 @@
/* Determine the wordsize from the preprocessor defines. __LP64__ is
- defined for 64bit since GCC 3.3. For GCC older than GCC 3.3, if
+ defined for 64bit since GCC 3.3. For GCC older than GCC 4.0, if
__x86_64__ is defined, it must be 64bit. */
-#ifndef __GNUC_PREREQ
-# if defined __GNUC__ && defined __GNUC_MINOR__
-# define __GNUC_PREREQ(maj, min) \
- ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-# else
-# define __GNUC_PREREQ(maj, min) 0
-# endif
-#endif
-#if defined __x86_64__ && (__LP64__ || !__GNUC_PREREQ (3, 3))
+#if defined __x86_64__ \
+ && (defined __LP64__ || !defined __GNUC__ || __GNUC__ < 4)
# define __WORDSIZE 64
# define __WORDSIZE_COMPAT32 1
#else
diff --git a/sysdeps/x86_64/x32/bits/wordsize.h b/sysdeps/x86_64/x32/bits/wordsize.h
index 85e6662..3841a2b 100644
--- a/sysdeps/x86_64/x32/bits/wordsize.h
+++ b/sysdeps/x86_64/x32/bits/wordsize.h
@@ -1,16 +1,9 @@
/* Determine the wordsize from the preprocessor defines. __LP64__ is
- defined for 64bit since GCC 3.3. For GCC older than GCC 3.3, if
+ defined for 64bit since GCC 3.3. For GCC older than GCC 4.0, if
__x86_64__ is defined, it must be 64bit. */
-#ifndef __GNUC_PREREQ
-# if defined __GNUC__ && defined __GNUC_MINOR__
-# define __GNUC_PREREQ(maj, min) \
- ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-# else
-# define __GNUC_PREREQ(maj, min) 0
-# endif
-#endif
-#if defined __x86_64__ && (__LP64__ || !__GNUC_PREREQ (3, 3))
+#if defined __x86_64__ \
+ && (defined __LP64__ || !defined __GNUC__ || __GNUC__ < 4)
# define __WORDSIZE 64
# define __WORDSIZE_COMPAT32 1
#else
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=43b0d50690f16e1b71700689db79eb335e4c6714
commit 43b0d50690f16e1b71700689db79eb335e4c6714
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Mar 17 09:22:29 2012 -0700
Replace MOVE_LP/ADD_LP/SUB_LP/CMP_LP with LP_OP
2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/sysdep.h (MOVE_LP): Removed.
(ADD_LP): Likewise.
(SUB_LP): Likewise.
(CMP_LP): Likewise.
(LP_OP): New.
* sysdeps/x86_64/x32/sysdep.h (MOVE_LP): Removed.
(ADD_LP): Likewise.
(SUB_LP): Likewise.
(CMP_LP): Likewise.
(LP_OP): New.
nptl/
2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/unix/sysv/linux/x86_64/cancellation.S: Replace ADD_LP,
CMP_LP, MOVE_LP, SUB_LP with LP_OP(add), LP_OP(cmp), LP_OP(mov),
LP_OP(sub).
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
diff --git a/ChangeLog.x32 b/ChangeLog.x32
index 08fcdea..075189b 100644
--- a/ChangeLog.x32
+++ b/ChangeLog.x32
@@ -1,3 +1,17 @@
+2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86_64/sysdep.h (MOVE_LP): Removed.
+ (ADD_LP): Likewise.
+ (SUB_LP): Likewise.
+ (CMP_LP): Likewise.
+ (LP_OP): New.
+
+ * sysdeps/x86_64/x32/sysdep.h (MOVE_LP): Removed.
+ (ADD_LP): Likewise.
+ (SUB_LP): Likewise.
+ (CMP_LP): Likewise.
+ (LP_OP): New.
+
2012-03-16 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PTR_MANGLE): Use
diff --git a/nptl/ChangeLog.x32 b/nptl/ChangeLog.x32
index 5f69fa8..1264bfb 100644
--- a/nptl/ChangeLog.x32
+++ b/nptl/ChangeLog.x32
@@ -1,3 +1,16 @@
+2012-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Replace ADD_LP,
+ CMP_LP, MOVE_LP, SUB_LP with LP_OP(add), LP_OP(cmp), LP_OP(mov),
+ LP_OP(sub).
+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
+
2012-03-14 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Use CMP_LP
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
index 3e6e938..31bb08b 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
@@ -72,7 +72,7 @@ ENTRY(__pthread_enable_asynccancel)
3: subq $8, %rsp
cfi_adjust_cfa_offset(8)
- MOVE_LP $TCB_PTHREAD_CANCELED, %fs:RESULT
+ LP_OP(mov) $TCB_PTHREAD_CANCELED, %fs:RESULT
lock
orl $TCB_EXITING_BITMASK, %fs:CANCELHANDLING
mov %fs:CLEANUP_JMP_BUF, %RDI_LP
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
index 827af6d..7b0eec1 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
@@ -66,7 +66,7 @@ __pthread_cond_broadcast:
decl cond_lock-cond_futex(%rdi)
jne 7f
-8: CMP_LP $-1, %R8_LP
+8: cmp $-1, %R8_LP
je 9f
/* Do not use requeue for pshared condvars. */
@@ -128,7 +128,7 @@ __pthread_cond_broadcast:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -140,7 +140,7 @@ __pthread_cond_broadcast:
/* Unlock in loop requires wakeup. */
5: addq $cond_lock-cond_futex, %rdi
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -149,7 +149,7 @@ __pthread_cond_broadcast:
/* Unlock in loop requires wakeup. */
7: addq $cond_lock-cond_futex, %rdi
- CMP_LP $-1, %R8_LP
+ cmp $-1, %R8_LP
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -158,7 +158,7 @@ __pthread_cond_broadcast:
jmp 8b
9: /* The futex requeue functionality is not available. */
- CMP_LP $-1, %R8_LP
+ cmp $-1, %R8_LP
movl $0x7fffffff, %edx
#ifdef __ASSUME_PRIVATE_FUTEX
movl $FUTEX_WAKE, %eax
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
index 333496b..a77b7d5 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
@@ -55,7 +55,7 @@ __pthread_cond_signal:
addl $1, (%rdi)
/* Wake up one thread. */
- CMP_LP $-1, dep_mutex(%r8)
+ LP_OP(cmp) $-1, dep_mutex(%r8)
movl $FUTEX_WAKE_OP, %esi
movl $1, %edx
movl $SYS_futex, %eax
@@ -134,7 +134,7 @@ __pthread_cond_signal:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -150,7 +150,7 @@ __pthread_cond_signal:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
index 892bfec..79bfecd 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
@@ -89,7 +89,7 @@ __pthread_cond_timedwait:
+--------------------------+
*/
- CMP_LP $-1, dep_mutex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex(%rdi)
/* Prepare structure passed to cancellation handler. */
movq %rdi, 8(%rsp)
@@ -163,7 +163,7 @@ __pthread_cond_timedwait:
movq %r13, %r10
movl $FUTEX_WAIT_BITSET, %esi
- CMP_LP $-1, dep_mutex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex(%rdi)
je 60f
mov dep_mutex(%rdi), %R8_LP
@@ -268,7 +268,7 @@ __pthread_cond_timedwait:
jne 55f
addq $cond_nwaiters, %rdi
- CMP_LP $-1, dep_mutex-cond_nwaiters(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_nwaiters(%rdi)
movl $1, %edx
#ifdef __ASSUME_PRIVATE_FUTEX
movl $FUTEX_WAKE, %eax
@@ -331,7 +331,7 @@ __pthread_cond_timedwait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -343,7 +343,7 @@ __pthread_cond_timedwait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -355,7 +355,7 @@ __pthread_cond_timedwait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -370,7 +370,7 @@ __pthread_cond_timedwait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -391,7 +391,7 @@ __pthread_cond_timedwait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -508,7 +508,7 @@ __pthread_cond_timedwait:
movl %eax, (%rsp)
leaq 32(%rsp), %r10
- CMP_LP $-1, dep_mutex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex(%rdi)
movq %r12, %rdx
# ifdef __ASSUME_PRIVATE_FUTEX
movl $FUTEX_WAIT, %eax
@@ -568,7 +568,7 @@ __pthread_cond_timedwait:
# if cond_lock != 0
addq $cond_lock, %rdi
# endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -580,7 +580,7 @@ __pthread_cond_timedwait:
# if cond_lock != 0
addq $cond_lock, %rdi
# endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -592,7 +592,7 @@ __pthread_cond_timedwait:
# if cond_lock != 0
addq $cond_lock, %rdi
# endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -675,7 +675,7 @@ __condvar_cleanup2:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -708,7 +708,7 @@ __condvar_cleanup2:
andl $~((1 << nwaiters_shift) - 1), %eax
jne 4f
- CMP_LP $-1, dep_mutex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex(%rdi)
leaq cond_nwaiters(%rdi), %rdi
movl $1, %edx
#ifdef __ASSUME_PRIVATE_FUTEX
@@ -736,7 +736,7 @@ __condvar_cleanup2:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -746,7 +746,7 @@ __condvar_cleanup2:
2: testq %r12, %r12
jnz 5f
addq $cond_futex, %rdi
- CMP_LP $-1, dep_mutex-cond_futex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_futex(%rdi)
movl $0x7fffffff, %edx
#ifdef __ASSUME_PRIVATE_FUTEX
movl $FUTEX_WAKE, %eax
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
index 20649f7..6c1031e 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
@@ -65,7 +65,7 @@ __pthread_cond_wait:
+--------------------------+
*/
- CMP_LP $-1, dep_mutex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex(%rdi)
/* Prepare structure passed to cancellation handler. */
movq %rdi, 8(%rsp)
@@ -120,7 +120,7 @@ __pthread_cond_wait:
movl %eax, (%rsp)
xorq %r10, %r10
- CMP_LP $-1, dep_mutex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex(%rdi)
leaq cond_futex(%rdi), %rdi
movl $FUTEX_WAIT, %esi
je 60f
@@ -206,7 +206,7 @@ __pthread_cond_wait:
jne 17f
addq $cond_nwaiters, %rdi
- CMP_LP $-1, dep_mutex-cond_nwaiters(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_nwaiters(%rdi)
movl $1, %edx
#ifdef __ASSUME_PRIVATE_FUTEX
movl $FUTEX_WAKE, %eax
@@ -255,7 +255,7 @@ __pthread_cond_wait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -267,7 +267,7 @@ __pthread_cond_wait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -283,7 +283,7 @@ __pthread_cond_wait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -298,7 +298,7 @@ __pthread_cond_wait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -319,7 +319,7 @@ __pthread_cond_wait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -348,7 +348,7 @@ __pthread_cond_wait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -374,7 +374,7 @@ __pthread_cond_wait:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -434,7 +434,7 @@ __condvar_cleanup1:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -467,7 +467,7 @@ __condvar_cleanup1:
andl $~((1 << nwaiters_shift) - 1), %eax
jne 4f
- CMP_LP $-1, dep_mutex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex(%rdi)
leaq cond_nwaiters(%rdi), %rdi
movl $1, %edx
#ifdef __ASSUME_PRIVATE_FUTEX
@@ -495,7 +495,7 @@ __condvar_cleanup1:
#if cond_lock != 0
addq $cond_lock, %rdi
#endif
- CMP_LP $-1, dep_mutex-cond_lock(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
movl $LLL_PRIVATE, %eax
movl $LLL_SHARED, %esi
cmovne %eax, %esi
@@ -506,7 +506,7 @@ __condvar_cleanup1:
2: testl %ecx, %ecx
jnz 5f
addq $cond_futex, %rdi
- CMP_LP $-1, dep_mutex-cond_futex(%rdi)
+ LP_OP(cmp) $-1, dep_mutex-cond_futex(%rdi)
movl $0x7fffffff, %edx
#ifdef __ASSUME_PRIVATE_FUTEX
movl $FUTEX_WAKE, %eax
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
index 738e422..65e715d 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
@@ -45,7 +45,7 @@ sem_post:
#endif
jnz 0b
- CMP_LP $0, NWAITERS(%rdi)
+ LP_OP(cmp) $0, NWAITERS(%rdi)
je 2f
movl $SYS_futex, %eax
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
index ade6c48..acb79db 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
@@ -83,7 +83,7 @@ sem_timedwait:
movq %rsi, %r10
LOCK
- ADD_LP $1, NWAITERS(%rdi)
+ LP_OP(add) $1, NWAITERS(%rdi)
.LcleanupSTART:
13: call __pthread_enable_asynccancel
@@ -134,7 +134,7 @@ sem_timedwait:
xorl %eax, %eax
15: LOCK
- SUB_LP $1, NWAITERS(%rdi)
+ LP_OP(sub) $1, NWAITERS(%rdi)
leaq 8(%rsp), %rsp
cfi_adjust_cfa_offset(-8)
@@ -189,7 +189,7 @@ sem_timedwait:
movq %rsi, %r13
LOCK
- ADD_LP $1, NWAITERS(%r12)
+ LP_OP(add) $1, NWAITERS(%r12)
7: xorl %esi, %esi
movq %rsp,%rdi
@@ -266,7 +266,7 @@ sem_timedwait:
xorl %eax, %eax
45: LOCK
- SUB_LP $1, NWAITERS(%r12)
+ LP_OP(sub) $1, NWAITERS(%r12)
addq $STACKFRAME, %rsp
cfi_adjust_cfa_offset(-STACKFRAME)
@@ -304,7 +304,7 @@ sem_timedwait_cleanup:
movq (%rsp), %rdi
LOCK
- SUB_LP $1, NWAITERS(%rdi)
+ LP_OP(sub) $1, NWAITERS(%rdi)
movq %rax, %rdi
.LcallUR:
call _Unwind_Resume@PLT
@@ -324,7 +324,7 @@ sem_timedwait_cleanup2:
cfi_rel_offset(%r14, STACKFRAME)
LOCK
- SUB_LP $1, NWAITERS(%r12)
+ LP_OP(sub) $1, NWAITERS(%r12)
movq %rax, %rdi
movq STACKFRAME(%rsp), %r14
movq STACKFRAME+8(%rsp), %r13
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
index 3bae46a..7f91148 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
@@ -66,7 +66,7 @@ sem_wait:
cfi_adjust_cfa_offset(8)
LOCK
- ADD_LP $1, NWAITERS(%rdi)
+ LP_OP(add) $1, NWAITERS(%rdi)
.LcleanupSTART:
6: call __pthread_enable_asynccancel
@@ -115,7 +115,7 @@ sem_wait:
xorl %eax, %eax
9: LOCK
- SUB_LP $1, NWAITERS(%rdi)
+ LP_OP(sub) $1, NWAITERS(%rdi)
leaq 8(%rsp), %rsp
cfi_adjust_cfa_offset(-8)
@@ -136,7 +136,7 @@ sem_wait:
sem_wait_cleanup:
movq (%rsp), %rdi
LOCK
- SUB_LP $1, NWAITERS(%rdi)
+ LP_OP(sub) $1, NWAITERS(%rdi)
movq %rax, %rdi
.LcallUR:
call _Unwind_Resume@PLT
diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h
index 466abff..f426fbd 100644
--- a/sysdeps/x86_64/sysdep.h
+++ b/sysdeps/x86_64/sysdep.h
@@ -98,17 +98,8 @@ lose: \
/* Long and pointer size in bytes. */
#define LP_SIZE 8
-/* Instruction to move long and pointer. */
-#define MOVE_LP movq
-
-/* Instruction to add long and pointer. */
-#define ADD_LP addq
-
-/* Instruction to substract long and pointer. */
-#define SUB_LP subq
-
-/* Instruction to compare against long and pointer. */
-#define CMP_LP cmpq
+/* Instruction to operate on long and pointer. */
+#define LP_OP(insn) insn##q
/* Assembler address directive. */
#define ASM_ADDR .quad
@@ -139,6 +130,9 @@ lose: \
/* Assembler address directive. */
#define ASM_ADDR ".quad"
+/* Instruction to operate on long and pointer. */
+#define LP_OP(insn) #insn "q"
+
/* Registers to hold long and pointer. */
#define RAX_LP "rax"
#define RBP_LP "rbp"
diff --git a/sysdeps/x86_64/x32/sysdep.h b/sysdeps/x86_64/x32/sysdep.h
index 0bb21f8..d8c87d9 100644
--- a/sysdeps/x86_64/x32/sysdep.h
+++ b/sysdeps/x86_64/x32/sysdep.h
@@ -17,8 +17,9 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#undef ASM_ADDR
#undef LP_SIZE
+#undef LP_OP
+#undef ASM_ADDR
#undef RAX_LP
#undef RBP_LP
@@ -41,17 +42,7 @@
# define LP_SIZE 4
-# undef MOVE_LP
-# define MOVE_LP movl
-
-# undef ADD_LP
-# define ADD_LP addl
-
-# undef SUB_LP
-# define SUB_LP subl
-
-# undef CMP_LP
-# define CMP_LP cmpl
+# define LP_OP(insn) insn##l
# define ASM_ADDR .long
@@ -76,6 +67,8 @@
# define LP_SIZE "4"
+# define LP_OP(insn) #insn "l"
+
# define ASM_ADDR ".long"
# define RAX_LP "eax"
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 388 ++++++++++++++++++--
ChangeLog.x32 | 37 ++
Makerules | 8 -
NEWS | 12 +-
math/libm-test.inc | 38 ++
math/s_clog.c | 27 ++-
math/s_clog10.c | 28 ++-
math/s_clog10f.c | 28 ++-
math/s_clog10l.c | 28 ++-
math/s_clogf.c | 28 ++-
math/s_clogl.c | 27 ++-
nptl/ChangeLog | 23 ++
nptl/ChangeLog.x32 | 13 +
nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c | 2 +-
.../sysv/linux/sparc/sparc32/libc-lowlevellock.c | 1 -
nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S | 2 +-
nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h | 4 -
.../sysv/linux/x86_64/pthread_cond_broadcast.S | 10 +-
.../unix/sysv/linux/x86_64/pthread_cond_signal.S | 6 +-
.../sysv/linux/x86_64/pthread_cond_timedwait.S | 32 +-
.../unix/sysv/linux/x86_64/pthread_cond_wait.S | 28 +-
nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S | 2 +-
.../sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S | 12 +-
nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S | 6 +-
nptl/sysdeps/x86_64/pthreaddef.h | 2 +-
sysdeps/generic/math_private.h | 225 ++++++++++--
sysdeps/i386/bits/byteswap.h | 48 +--
sysdeps/i386/fpu/feholdexcpt.c | 19 +-
sysdeps/i386/fpu/fenv_private.h | 304 +++++++++++++++
sysdeps/i386/fpu/libm-test-ulps | 60 +++
sysdeps/i386/fpu/math_private.h | 44 +---
sysdeps/ieee754/dbl-64/e_atan2.c | 9 +-
sysdeps/ieee754/dbl-64/e_exp.c | 4 +-
sysdeps/ieee754/dbl-64/e_exp2.c | 97 +++---
sysdeps/ieee754/dbl-64/e_pow.c | 4 +-
sysdeps/ieee754/dbl-64/s_fma.c | 25 +-
sysdeps/ieee754/dbl-64/s_fmaf.c | 12 +-
sysdeps/ieee754/dbl-64/s_sin.c | 8 +-
sysdeps/ieee754/dbl-64/s_tan.c | 4 +-
sysdeps/ieee754/dbl-64/wordsize-64/math_private.h | 35 ++
sysdeps/ieee754/dbl-64/wordsize-64/s_llround.c | 2 +-
sysdeps/ieee754/flt-32/e_exp2f.c | 89 +++---
sysdeps/ieee754/flt-32/e_expf.c | 49 ++--
sysdeps/ieee754/flt-32/math_private.h | 35 ++
sysdeps/powerpc/fpu/libm-test-ulps | 45 +++-
sysdeps/sparc/fpu/fenv_private.h | 106 ++++++
sysdeps/sparc/fpu/libm-test-ulps | 209 ++++++-----
sysdeps/sparc/fpu/math_private.h | 63 +---
sysdeps/unix/Makefile | 240 +------------
sysdeps/unix/errnos-tmpl.c | 98 -----
sysdeps/unix/errnos.awk | 12 -
sysdeps/unix/ioctls-tmpl.c | 134 -------
sysdeps/unix/ioctls.awk | 10 -
sysdeps/unix/mk-local_lim.c | 125 -------
sysdeps/unix/snarf-ioctls | 48 ---
sysdeps/unix/sysv/linux/i386/readelflib.c | 4 +-
sysdeps/unix/sysv/linux/shmat.c | 22 +-
sysdeps/unix/sysv/linux/sparc/Makefile | 4 +
sysdeps/unix/sysv/linux/sparc/Versions | 2 +
sysdeps/unix/sysv/linux/sparc/bits/shm.h | 4 +-
sysdeps/unix/sysv/linux/sparc/getshmlba.c | 40 ++
sysdeps/x86_64/64/bits/wordsize.h | 13 +-
sysdeps/x86_64/bits/atomic.h | 14 +-
sysdeps/x86_64/bits/byteswap.h | 52 +--
sysdeps/x86_64/bits/mathdef.h | 2 +-
sysdeps/x86_64/ffsll.c | 3 +-
sysdeps/x86_64/fpu/bits/fenv.h | 2 +-
sysdeps/x86_64/fpu/feholdexcpt.c | 21 +-
sysdeps/x86_64/fpu/libm-test-ulps | 67 ++++
sysdeps/x86_64/fpu/math_private.h | 109 +------
sysdeps/x86_64/sysdep.h | 16 +-
sysdeps/x86_64/x32/bits/wordsize.h | 13 +-
sysdeps/x86_64/x32/sysdep.h | 17 +-
73 files changed, 1910 insertions(+), 1450 deletions(-)
delete mode 100644 nptl/sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c
create mode 100644 sysdeps/i386/fpu/fenv_private.h
create mode 100644 sysdeps/ieee754/dbl-64/wordsize-64/math_private.h
create mode 100644 sysdeps/ieee754/flt-32/math_private.h
create mode 100644 sysdeps/sparc/fpu/fenv_private.h
delete mode 100644 sysdeps/unix/errnos-tmpl.c
delete mode 100644 sysdeps/unix/errnos.awk
delete mode 100644 sysdeps/unix/ioctls-tmpl.c
delete mode 100644 sysdeps/unix/ioctls.awk
delete mode 100644 sysdeps/unix/mk-local_lim.c
delete mode 100755 sysdeps/unix/snarf-ioctls
create mode 100644 sysdeps/unix/sysv/linux/sparc/getshmlba.c
hooks/post-receive
--
GNU C Library master sources