diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-02-14 16:08:23 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-02-14 16:08:23 +0100 |
commit | 53b4d41df8af3027dac1edd7965cb44bf0747494 (patch) | |
tree | 191fec26db2f70309a796c92680fabc73c25c6e6 /libgomp | |
parent | fa0a5acc1e99434a33cfb8079724cca35171232c (diff) | |
download | gcc-53b4d41df8af3027dac1edd7965cb44bf0747494.tar.gz |
re PR libgomp/47731 (futex_wait broken on Linux)
PR libgomp/47731
* config/linux/futex.h (futex_wait): Pass NULL as timeout argument
to FUTEX_WAIT futex syscall.
* config/linux/wait.h: Include <futex.h> instead of "futex.h".
From-SVN: r170133
Diffstat (limited to 'libgomp')
-rw-r--r-- | libgomp/ChangeLog | 7 | ||||
-rw-r--r-- | libgomp/config/linux/futex.h | 6 | ||||
-rw-r--r-- | libgomp/config/linux/wait.h | 4 |
3 files changed, 12 insertions, 5 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 69627d3b151..e2844762002 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,10 @@ +2011-02-14 Jakub Jelinek <jakub@redhat.com> + + PR libgomp/47731 + * config/linux/futex.h (futex_wait): Pass NULL as timeout argument + to FUTEX_WAIT futex syscall. + * config/linux/wait.h: Include <futex.h> instead of "futex.h". + 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure: Regenerate. diff --git a/libgomp/config/linux/futex.h b/libgomp/config/linux/futex.h index 7324b78383e..bab088a558b 100644 --- a/libgomp/config/linux/futex.h +++ b/libgomp/config/linux/futex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010 Free Software Foundation, Inc. +/* Copyright (C) 2010, 2011 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of the GNU OpenMP Library (libgomp). @@ -41,12 +41,12 @@ static inline void futex_wait (int *addr, int val) { - long err = syscall (SYS_futex, addr, gomp_futex_wait, val); + long err = syscall (SYS_futex, addr, gomp_futex_wait, val, NULL); if (__builtin_expect (err == -ENOSYS, 0)) { gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG; gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG; - syscall (SYS_futex, addr, gomp_futex_wait, val); + syscall (SYS_futex, addr, gomp_futex_wait, val, NULL); } } diff --git a/libgomp/config/linux/wait.h b/libgomp/config/linux/wait.h index bd5bb637727..0e8abf111b0 100644 --- a/libgomp/config/linux/wait.h +++ b/libgomp/config/linux/wait.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008, 2009 Free Software Foundation, Inc. +/* Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc. Contributed by Jakub Jelinek <jakub@redhat.com>. This file is part of the GNU OpenMP Library (libgomp). @@ -42,7 +42,7 @@ extern long int gomp_futex_wait, gomp_futex_wake; -#include "futex.h" +#include <futex.h> static inline void do_wait (int *addr, int val) { |