blob: 41cae92e708cdc44b46fdedfe4945630a180cff0 [file] [log] [blame]
#include "negated_errno.h"
static void
get_error(struct tcb *tcp, const bool check_errno)
{
if (ia64_ia32mode) {
int err = ia64_regs.gr[8];
if (check_errno && is_negated_errno(err)) {
tcp->u_rval = -1;
tcp->u_error = -err;
} else {
tcp->u_rval = err;
}
} else {
if (ia64_regs.gr[10]) {
tcp->u_rval = -1;
tcp->u_error = ia64_regs.gr[8];
} else {
tcp->u_rval = ia64_regs.gr[8];
}
}
}