From 53b4d41df8af3027dac1edd7965cb44bf0747494 Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Mon, 14 Feb 2011 16:08:23 +0100
Subject: [PATCH] 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
---
 libgomp/ChangeLog            | 7 +++++++
 libgomp/config/linux/futex.h | 6 +++---
 libgomp/config/linux/wait.h  | 4 ++--
 3 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 69627d3b1513..e28447620020 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 7324b78383eb..bab088a558b6 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 bd5bb637727c..0e8abf111b09 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)
 {
-- 
GitLab