This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug nptl/18726] Futexes are broken on MIPS/n32


https://sourceware.org/bugzilla/show_bug.cgi?id=18726

--- Comment #6 from Petr Malat <oss at malat dot biz> ---
(In reply to joseph@codesourcery.com from comment #5)
> On Mon, 27 Jul 2015, oss at malat dot biz wrote:
> > After checking implementation of these new syscalls, which were not present
> > in my old version, I think the proper fix would be to change futex value to
> > signed int type.
> 
> Are you saying that in fact the bug was fixed in the kernel, but later 
> than 2.6.32? 
No, I meant my original proposal of changing ARGIFY is not good, because it
will not work with ftruncate64, lockf64 etc., which are not present in my old
version.

> Because the conclusion in the kernel community was that the 
> kernel was the right place to fix this (by always sign-extending affected 
> syscall arguments on kernel entry).
OK, I will try with a never kernel. Nevertheless I still think this is also 
a bug on glibc side as it violates the ABI.

> And I think the conclusion from more recent discussions in the glibc context
> of a generic API for internal futex uses in glibc is that unsigned int is 
> the preferred type for futexes within glibc.
I've got this idea from the prototype specified in futex(2), which says val 
argument is of the type int, but on the other hand using unsigned is aligned
with the kernel, as the value is unsigned there too.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]