diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-12-15 13:30:07 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-12-15 13:30:07 +0000 |
commit | d4ef8a6368e8e5b22808e3df64306418f1971ba9 (patch) | |
tree | f7874b57ad4653b890c423c79a3712a09d8be793 /libgloss/nds32/_isatty.S | |
parent | 0cbcde7bdbecd41228cd09bb102ef73cde5aef96 (diff) | |
download | cygnal-d4ef8a6368e8e5b22808e3df64306418f1971ba9.tar.gz cygnal-d4ef8a6368e8e5b22808e3df64306418f1971ba9.tar.bz2 cygnal-d4ef8a6368e8e5b22808e3df64306418f1971ba9.zip |
* libgloss/nds32/_exit.S: Finish with an infinite loop in _exit.
* libgloss/nds32/_getpid.S: Don't issue _getpid system call, it is
always successful.
* libgloss/nds32/_gettimeofday.S: No error for _gettimeofday is defined
in SYS_geterr handler.
* libgloss/nds32/_isatty.S: No error for _isatty is defined in
SYS_geterr handler.
* libgloss/nds32/_kill.S: Alway fail. errno = EINVAL.
* libgloss/nds32/_link.S: Alway fail. errno = EMLINK.
* libgloss/nds32/_times.S: Alway fail. errno = EACCES.
* libgloss/nds32/_unlink.S: fix copy and paste error.
* libgloss/nds32/crt0.S: Add pre_c_init, post_c_init, arg_init.
* libgloss/nds32/crt1.S: Add pre_c_init, post_c_init, arg_init.
* libgloss/nds32/syscall_extra.h: Re-format.
* libgloss/nds32/vh.h: Add more virtual hosting number.
Diffstat (limited to 'libgloss/nds32/_isatty.S')
-rw-r--r-- | libgloss/nds32/_isatty.S | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/libgloss/nds32/_isatty.S b/libgloss/nds32/_isatty.S index c90028afc..37776ed7d 100644 --- a/libgloss/nds32/_isatty.S +++ b/libgloss/nds32/_isatty.S @@ -27,6 +27,15 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* + SYNOPSIS + #include <unistd.h> + int isatty(int fildes); + RETURN VALUE + The isatty() function shall return 1 if fildes is associated with + a terminal; otherwise, it shall return 0 and may set errno + to indicate the error. +*/ #ifdef __NDS32_VH__ #include "vh.h" @@ -37,6 +46,21 @@ TYPE0 _isatty, VH_ISATTY #include "../syscall.h" #include "syscall_extra.h" -SYS_WRAPPER _isatty, SYS_isatty + .text + .global _isatty + .type _isatty, @function + .align 2 +_isatty: + syscall SYS_isatty /* Make syscall with SWID=`SYS_isatty'. + Reture value `0' stored in $r0 means + there is something wrong. */ + bnez $r0, 1f /* Branch if success. */ + syscall SYS_geterr /* There is something wrong. */ + l.w $r15, _impure_ptr + swi $r0, [$r15] /* Set errno. */ + move $r0, #0 +1: + ret + .size _isatty, .-_isatty #endif /* not __NDS32_VH__ */ |