summaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-02-14 16:08:23 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-02-14 16:08:23 +0100
commit53b4d41df8af3027dac1edd7965cb44bf0747494 (patch)
tree191fec26db2f70309a796c92680fabc73c25c6e6 /libgomp
parentfa0a5acc1e99434a33cfb8079724cca35171232c (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--libgomp/config/linux/futex.h6
-rw-r--r--libgomp/config/linux/wait.h4
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)
{