From d778b5a09c816040de7f25f630056e56ec5d1c09 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 28 May 2015 19:36:47 +0200 Subject: [PATCH] futex_bits.h (sys_futex0): Change operands "op" and "val" to int. * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change operands "op" and "val" to int. * config/linux/sh/futex_bits.h (sys_futex0) Change operands "op" and "val" to int. * config/linux/alpha/futex_bits.h (sys_futex0) Change operands "op" and "val" to int. * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake): Declare as static int. (FUTEX_PRIVATE_FLAG): Remove L suffix. * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int. Revert: * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Change operand "op" to long. From-SVN: r223844 --- libitm/ChangeLog | 27 +++++++++++++++++++++++--- libitm/config/linux/alpha/futex_bits.h | 2 +- libitm/config/linux/futex.cc | 6 +++--- libitm/config/linux/futex_bits.h | 2 +- libitm/config/linux/sh/futex_bits.h | 2 +- libitm/config/linux/x86/futex_bits.h | 4 ++-- 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 91f1dd04392..d745b54816b 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,8 +1,29 @@ 2015-05-27 Uros Bizjak - * config/linux/x86/futex_bits.h (sys_futex0) [!__x86_64__]: - Change operand "op" to long. - [__PIC__]: Remove sys_futex0 function. + * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change + operands "op" and "val" to int. + +2015-05-27 Uros Bizjak + + * config/linux/sh/futex_bits.h (sys_futex0) Change operands + "op" and "val" to int. + +2015-05-27 Uros Bizjak + + * config/linux/alpha/futex_bits.h (sys_futex0) Change operands + "op" and "val" to int. + +2015-05-27 Uros Bizjak + + * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake): + Declare as static int. + (FUTEX_PRIVATE_FLAG): Remove L suffix. + * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int. + +2015-05-27 Uros Bizjak + + * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove + sys_futex0 function. 2015-05-13 Michael Haubenwallner diff --git a/libitm/config/linux/alpha/futex_bits.h b/libitm/config/linux/alpha/futex_bits.h index 58ed1f7e1f9..e5efefb0deb 100644 --- a/libitm/config/linux/alpha/futex_bits.h +++ b/libitm/config/linux/alpha/futex_bits.h @@ -29,7 +29,7 @@ #endif static inline long -sys_futex0 (std::atomic *addr, long op, long val) +sys_futex0 (std::atomic *addr, int op, int val) { register long sc_0 __asm__("$0"); register long sc_16 __asm__("$16"); diff --git a/libitm/config/linux/futex.cc b/libitm/config/linux/futex.cc index d1a16f79747..004fdbd45f8 100644 --- a/libitm/config/linux/futex.cc +++ b/libitm/config/linux/futex.cc @@ -33,11 +33,11 @@ namespace GTM HIDDEN { #define FUTEX_WAIT 0 #define FUTEX_WAKE 1 -#define FUTEX_PRIVATE_FLAG 128L +#define FUTEX_PRIVATE_FLAG 128 -static long int gtm_futex_wait = FUTEX_WAIT | FUTEX_PRIVATE_FLAG; -static long int gtm_futex_wake = FUTEX_WAKE | FUTEX_PRIVATE_FLAG; +static int gtm_futex_wait = FUTEX_WAIT | FUTEX_PRIVATE_FLAG; +static int gtm_futex_wake = FUTEX_WAKE | FUTEX_PRIVATE_FLAG; void diff --git a/libitm/config/linux/futex_bits.h b/libitm/config/linux/futex_bits.h index 4783afecd30..4e1bae96c3f 100644 --- a/libitm/config/linux/futex_bits.h +++ b/libitm/config/linux/futex_bits.h @@ -34,7 +34,7 @@ #include static inline long -sys_futex0 (std::atomic *addr, long op, long val) +sys_futex0 (std::atomic *addr, int op, int val) { long res = syscall (SYS_futex, (int*) addr, op, val, 0); if (__builtin_expect (res == -1, 0)) diff --git a/libitm/config/linux/sh/futex_bits.h b/libitm/config/linux/sh/futex_bits.h index 4d8bf1e06d9..4bbcd3fd16b 100644 --- a/libitm/config/linux/sh/futex_bits.h +++ b/libitm/config/linux/sh/futex_bits.h @@ -32,7 +32,7 @@ trapa #0x14; or r0,r0; or r0,r0; or r0,r0; or r0,r0; or r0,r0" static inline long -sys_futex0 (std::atomic *addr, long op, long val) +sys_futex0 (std::atomic *addr, int op, int val) { int __status; register long __r3 asm ("r3") = SYS_futex; diff --git a/libitm/config/linux/x86/futex_bits.h b/libitm/config/linux/x86/futex_bits.h index 7529fc4606f..e4b70d6f0ec 100644 --- a/libitm/config/linux/x86/futex_bits.h +++ b/libitm/config/linux/x86/futex_bits.h @@ -28,7 +28,7 @@ # endif static inline long -sys_futex0 (std::atomic *addr, long op, long val) +sys_futex0 (std::atomic *addr, int op, int val) { register long r10 __asm__("%r10") = 0; long res; @@ -47,7 +47,7 @@ sys_futex0 (std::atomic *addr, long op, long val) # endif static inline long -sys_futex0 (std::atomic *addr, long op, int val) +sys_futex0 (std::atomic *addr, int op, int val) { long res; -- 2.30.2