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
This commit is contained in:
parent
8974754f6f
commit
ea023bcfd8
|
@ -1,3 +1,9 @@
|
||||||
|
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)
|
||||||
# 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)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
# endif /* __PIC__ */
|
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
futex_wait (int *addr, int val)
|
futex_wait (int *addr, int val)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
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)
|
||||||
# define SYS_futex 240
|
# define SYS_futex 240
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef __PIC__
|
|
||||||
|
|
||||||
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;
|
|
||||||
|
|
||||||
__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)
|
|
||||||
{
|
{
|
||||||
long res;
|
long res;
|
||||||
|
|
||||||
|
@ -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__ */
|
||||||
|
|
Loading…
Reference in New Issue