1*cf84ac9aSAndroid Build Coastguard Worker static void get_error(struct tcb * tcp,const bool check_errno)2*cf84ac9aSAndroid Build Coastguard Workerget_error(struct tcb *tcp, const bool check_errno) 3*cf84ac9aSAndroid Build Coastguard Worker { 4*cf84ac9aSAndroid Build Coastguard Worker /* 5*cf84ac9aSAndroid Build Coastguard Worker * The system call convention specifies that r2 contains the return 6*cf84ac9aSAndroid Build Coastguard Worker * value on success or a positive error number on failure. A flag 7*cf84ac9aSAndroid Build Coastguard Worker * indicating successful completion is written to r7; r7=0 indicates 8*cf84ac9aSAndroid Build Coastguard Worker * the system call success, r7=1 indicates an error. The positive 9*cf84ac9aSAndroid Build Coastguard Worker * errno value written in r2. 10*cf84ac9aSAndroid Build Coastguard Worker */ 11*cf84ac9aSAndroid Build Coastguard Worker if (nios2_regs.regs[7]) { 12*cf84ac9aSAndroid Build Coastguard Worker tcp->u_rval = -1; 13*cf84ac9aSAndroid Build Coastguard Worker tcp->u_error = nios2_regs.regs[2]; 14*cf84ac9aSAndroid Build Coastguard Worker } else { 15*cf84ac9aSAndroid Build Coastguard Worker tcp->u_rval = nios2_regs.regs[2]; 16*cf84ac9aSAndroid Build Coastguard Worker } 17*cf84ac9aSAndroid Build Coastguard Worker } 18