This is the mail archive of the
glibc-bugs@sources.redhat.com
mailing list for the glibc project.
[Bug libc/933] New: MIPS (n)64 syscall() implemented incorrectly
- From: "macro at linux-mips dot org" <sourceware-bugzilla at sources dot redhat dot com>
- To: glibc-bugs at sources dot redhat dot com
- Date: 5 May 2005 19:23:52 -0000
- Subject: [Bug libc/933] New: MIPS (n)64 syscall() implemented incorrectly
- Reply-to: sourceware-bugzilla at sources dot redhat dot com
Linux assumes it can restart a syscall by resuming userland execution at
the instruction preceding the "syscall" instruction and that code there
will restore the number of the syscall as passed in $v0. This convention
is not obeyed in sysdeps/unix/sysv/linux/mips/mips64/syscall.S, which does:
move $a6, $a7
syscall
instead. See bits related to the ERESTARTNOINTR error code in
arch/mips/kernel/signal.c within Linux sources for further reference.
I'll try to prepare a fix, but if it takes too long, this report will
hopefully incline someone else. ;-)
--
Summary: MIPS (n)64 syscall() implemented incorrectly
Product: glibc
Version: 2.3.5
Status: NEW
Severity: normal
Priority: P2
Component: libc
AssignedTo: gotom at debian dot or dot jp
ReportedBy: macro at linux-mips dot org
CC: glibc-bugs at sources dot redhat dot com
GCC host triplet: mipsel-unknown-linux-gnu
http://sources.redhat.com/bugzilla/show_bug.cgi?id=933
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.