Commit ea023bcf by Uros Bizjak Committed by Uros Bizjak

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
parent 8974754f
2015-05-27 Uros Bizjak <ubizjak@gmail.com>
* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
Change operand "op" to long.
[__PIC__]: Remove sys_futex0 function.
2015-05-27 Chung-Lin Tang <cltang@codesourcery.com> 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
* target.c (gomp_map_pointer): New function abstracting out * target.c (gomp_map_pointer): New function abstracting out
......
...@@ -81,27 +81,8 @@ futex_wake (int *addr, int count) ...@@ -81,27 +81,8 @@ futex_wake (int *addr, int count)
# define SYS_futex 240 # define SYS_futex 240
# endif # endif
# ifdef __PIC__
static inline long static inline long
sys_futex0 (int *addr, int op, int val) sys_futex0 (int *addr, long 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 (int *addr, int op, int val)
{ {
long res; long res;
...@@ -113,8 +94,6 @@ sys_futex0 (int *addr, int op, int val) ...@@ -113,8 +94,6 @@ sys_futex0 (int *addr, int op, int val)
return res; return res;
} }
# endif /* __PIC__ */
static inline void static inline void
futex_wait (int *addr, int val) futex_wait (int *addr, int val)
{ {
......
2015-05-27 Uros Bizjak <ubizjak@gmail.com>
* config/linux/x86/futex_bits.h (sys_futex0) [!__x86_64__]:
Change operand "op" to long.
[__PIC__]: Remove sys_futex0 function.
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* Makefile.in: Regenerated with automake-1.11.6. * Makefile.in: Regenerated with automake-1.11.6.
......
...@@ -46,27 +46,8 @@ sys_futex0 (std::atomic<int> *addr, long op, long val) ...@@ -46,27 +46,8 @@ sys_futex0 (std::atomic<int> *addr, long op, long val)
# define SYS_futex 240 # define SYS_futex 240
# endif # 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 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; long res;
...@@ -78,5 +59,4 @@ sys_futex0 (std::atomic<int> *addr, int op, int val) ...@@ -78,5 +59,4 @@ sys_futex0 (std::atomic<int> *addr, int op, int val)
return res; return res;
} }
# endif /* __PIC__ */
#endif /* __x86_64__ */ #endif /* __x86_64__ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment