[prev in list] [next in list] [prev in thread] [next in thread]
List: uclibc-cvs
Subject: [Bug 11491] New: _syscall_noerr do not handle syscall values in range [-EMAXERRNO; 0[ on MIPS
From: bugzilla () busybox ! net
Date: 2018-11-07 2:15:45
Message-ID: bug-11491-159 () https ! bugs ! busybox ! net/
[Download RAW message or body]
https://bugs.busybox.net/show_bug.cgi?id=11491
Bug ID: 11491
Summary: _syscall_noerr do not handle syscall values in range
[-EMAXERRNO; 0[ on MIPS
Product: uClibc
Version: 0.9.33.2
Hardware: Other
OS: Linux
Status: NEW
Severity: major
Priority: P5
Component: Other
Assignee: unassigned@uclibc.org
Reporter: boyko.cxx@gmail.com
CC: uclibc-cvs@uclibc.org
Target Milestone: ---
On Linux/MIPS (O32 ABI) for system call we have two result registers - v0 and
a3.
v0 contains actual syscall result on success or error number on fail, a3 set to
0/1 for indicating syscall success/fail. (if a3 == 1, v0 contains errno).
Now as we can see from definition of handle_sys
(arch/mips/kernel/scall32-o32.S), handler treats returned by syscall function
(let's call "original") values in range [-EMAXERRNO; 0[ as -errno, a3 is set to
1 and final returned (to userspace) value is (-original).
Currently ulibc does not fully handle this mips syscall convention - wrappers
declared though _syscall_noerr (time, times) are not working properly.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
uClibc-cvs mailing list
uClibc-cvs@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic