blob: 1c91c0acfd8d9e482a77e7de54e573efe62518d2 [file] [log] [blame]
static void
get_error(struct tcb *tcp, const bool check_errno)
{
/*
* The system call convention specifies that r2 contains the return
* value on success or a positive error number on failure. A flag
* indicating successful completion is written to r7; r7=0 indicates
* the system call success, r7=1 indicates an error. The positive
* errno value written in r2.
*/
if (nios2_regs.regs[7]) {
tcp->u_rval = -1;
tcp->u_error = nios2_regs.regs[2];
} else {
tcp->u_rval = nios2_regs.regs[2];
}
}