This is the mail archive of the glibc-bugs@sources.redhat.com 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 libc/933] New: MIPS (n)64 syscall() implemented incorrectly


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.


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