xref: /aosp_15_r20/external/strace/linux/sparc64/set_error.c (revision cf84ac9a129d8ea9952db616b4e9b904c4bdde56)
1*cf84ac9aSAndroid Build Coastguard Worker static int
arch_set_error(struct tcb * tcp)2*cf84ac9aSAndroid Build Coastguard Worker arch_set_error(struct tcb *tcp)
3*cf84ac9aSAndroid Build Coastguard Worker {
4*cf84ac9aSAndroid Build Coastguard Worker 	sparc_regs.tstate |= 0x1100000000UL;
5*cf84ac9aSAndroid Build Coastguard Worker 	sparc_regs.u_regs[U_REG_O0] = tcp->u_error;
6*cf84ac9aSAndroid Build Coastguard Worker 	return set_regs(tcp->pid);
7*cf84ac9aSAndroid Build Coastguard Worker }
8*cf84ac9aSAndroid Build Coastguard Worker 
9*cf84ac9aSAndroid Build Coastguard Worker static int
arch_set_success(struct tcb * tcp)10*cf84ac9aSAndroid Build Coastguard Worker arch_set_success(struct tcb *tcp)
11*cf84ac9aSAndroid Build Coastguard Worker {
12*cf84ac9aSAndroid Build Coastguard Worker 	sparc_regs.tstate &= ~0x1100000000UL;
13*cf84ac9aSAndroid Build Coastguard Worker 	sparc_regs.u_regs[U_REG_O0] = tcp->u_rval;
14*cf84ac9aSAndroid Build Coastguard Worker 	return set_regs(tcp->pid);
15*cf84ac9aSAndroid Build Coastguard Worker }
16