summaryrefslogtreecommitdiff
path: root/libitm/config
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2015-05-27 21:35:58 +0200
committerUros Bizjak <uros@gcc.gnu.org>2015-05-27 21:35:58 +0200
commitea023bcfd8a6549df22232792038310fd4f2f967 (patch)
tree6e06f073ef60126e056bb321e26c5377718325a1 /libitm/config
parent8974754f6f12f2f032d4122b06d26319545ced00 (diff)
downloadgcc-ea023bcfd8a6549df22232792038310fd4f2f967.tar.gz
futex.h (sys_futex0): Change operand "op" to long.
libgomp/ChangeLog: * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Change operand "op" to long. [__PIC__]: Remove sys_futex0 function. libitm/ChangeLog: * config/linux/x86/futex_bits.h (sys_futex0) [!__x86_64__]: Change operand "op" to long. [__PIC__]: Remove sys_futex0 function. From-SVN: r223771
Diffstat (limited to 'libitm/config')
-rw-r--r--libitm/config/linux/x86/futex_bits.h22
1 files changed, 1 insertions, 21 deletions
diff --git a/libitm/config/linux/x86/futex_bits.h b/libitm/config/linux/x86/futex_bits.h
index 235a053299e..7529fc4606f 100644
--- a/libitm/config/linux/x86/futex_bits.h
+++ b/libitm/config/linux/x86/futex_bits.h
@@ -46,27 +46,8 @@ sys_futex0 (std::atomic<int> *addr, long op, long val)
# define SYS_futex 240
# endif
-# ifdef __PIC__
-
-static inline long
-sys_futex0 (std::atomic<int> *addr, int op, int val)
-{
- long res;
-
- __asm volatile ("xchgl\t%%ebx, %2\n\t"
- "int\t$0x80\n\t"
- "xchgl\t%%ebx, %2"
- : "=a" (res)
- : "0"(SYS_futex), "r" (addr), "c"(op),
- "d"(val), "S"(0)
- : "memory");
- return res;
-}
-
-# else
-
static inline long
-sys_futex0 (std::atomic<int> *addr, int op, int val)
+sys_futex0 (std::atomic<int> *addr, long op, int val)
{
long res;
@@ -78,5 +59,4 @@ sys_futex0 (std::atomic<int> *addr, int op, int val)
return res;
}
-# endif /* __PIC__ */
#endif /* __x86_64__ */