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 #7 from Petr Malat <oss at malat dot biz> ---
I've tracked down a change, which prevents the problem in the kernel:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/kernel/futex_compat.c?id=90caf58dad77a4021e9dade5d051756cea2a2cd7

When COMPAT_SYSCALL_DEFINE is used a wrapper is created, which casts the 
futex value to unsigned long and then to unsigned int, which forces gcc to
emit sll instruction, which, according to the specification, can be used even
when a register is not properly sign extended.

I will report this to the kernel mailing list, as from current long term
releases
2.6.32.67, 3.2.69 and 3.4.108 are affected. From my POV glibc shall be fixed
too,
as it violates the ABI.

-- 
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]