public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgomp/47731] New: [4.6 Regression] futex_wait broken on Linux
@ 2011-02-14  9:54 jakub at gcc dot gnu.org
  2011-02-14  9:57 ` [Bug libgomp/47731] " jakub at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14  9:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47731

           Summary: [4.6 Regression] futex_wait broken on Linux
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgomp
        AssignedTo: jakub@gcc.gnu.org
        ReportedBy: jakub@gcc.gnu.org


As reported in http://gcc.gnu.org/ml/fortran/2011-02/msg00108.html
futex_wait is very much broken since
http://gcc.gnu.org/ml/gcc-patches/2010-10/msg00256.html
There are two problems:
1) the arm futex.h version is broken, as it doesn't pass NULL as the timeout
   parameter to FUTEX_WAIT or FUTEX_WAIT|FUTEX_PRIVATE.  This means the
   parameter contains random garbage, if it happens to be NULL, fine, otherwise
   it could contain some valid pointer and risk that the futex times out or
   it can contain invalid address and thus the syscall can EFAULT right away.
2) as wait.h includes "futex.h", the CPU specific futex.h versions are no
longer
   used.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libgomp/47731] [4.6 Regression] futex_wait broken on Linux
  2011-02-14  9:54 [Bug libgomp/47731] New: [4.6 Regression] futex_wait broken on Linux jakub at gcc dot gnu.org
@ 2011-02-14  9:57 ` jakub at gcc dot gnu.org
  2011-02-14 10:06 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14  9:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47731

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011.02.14 09:53:45
   Target Milestone|---                         |4.6.0
     Ever Confirmed|0                           |1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libgomp/47731] [4.6 Regression] futex_wait broken on Linux
  2011-02-14  9:54 [Bug libgomp/47731] New: [4.6 Regression] futex_wait broken on Linux jakub at gcc dot gnu.org
  2011-02-14  9:57 ` [Bug libgomp/47731] " jakub at gcc dot gnu.org
@ 2011-02-14 10:06 ` jakub at gcc dot gnu.org
  2011-02-14 15:14 ` jakub at gcc dot gnu.org
  2011-02-14 15:57 ` jakub at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14 10:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47731

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-14 09:56:48 UTC ---
Created attachment 23334
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23334
gcc46-pr47731.patch

Untested fix.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libgomp/47731] [4.6 Regression] futex_wait broken on Linux
  2011-02-14  9:54 [Bug libgomp/47731] New: [4.6 Regression] futex_wait broken on Linux jakub at gcc dot gnu.org
  2011-02-14  9:57 ` [Bug libgomp/47731] " jakub at gcc dot gnu.org
  2011-02-14 10:06 ` jakub at gcc dot gnu.org
@ 2011-02-14 15:14 ` jakub at gcc dot gnu.org
  2011-02-14 15:57 ` jakub at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14 15:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47731

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-14 15:08:29 UTC ---
Author: jakub
Date: Mon Feb 14 15:08:23 2011
New Revision: 170133

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170133
Log:
    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".

Modified:
    trunk/libgomp/ChangeLog
    trunk/libgomp/config/linux/futex.h
    trunk/libgomp/config/linux/wait.h


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug libgomp/47731] [4.6 Regression] futex_wait broken on Linux
  2011-02-14  9:54 [Bug libgomp/47731] New: [4.6 Regression] futex_wait broken on Linux jakub at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-02-14 15:14 ` jakub at gcc dot gnu.org
@ 2011-02-14 15:57 ` jakub at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-02-14 15:57 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47731

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-02-14 15:54:04 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-02-14 15:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-14  9:54 [Bug libgomp/47731] New: [4.6 Regression] futex_wait broken on Linux jakub at gcc dot gnu.org
2011-02-14  9:57 ` [Bug libgomp/47731] " jakub at gcc dot gnu.org
2011-02-14 10:06 ` jakub at gcc dot gnu.org
2011-02-14 15:14 ` jakub at gcc dot gnu.org
2011-02-14 15:57 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).