Dmitry V. Levin | 0c8c5c9 | 2015-11-29 00:06:45 +0000 | [diff] [blame] | 1 | #define get_error arm_get_error |
| 2 | #include "arm/get_error.c" |
| 3 | #undef get_error |
| 4 | |
| 5 | static void |
| 6 | get_error(struct tcb *tcp, const bool check_errno) |
| 7 | { |
Dmitry V. Levin | c37173f | 2015-12-09 00:43:39 +0000 | [diff] [blame] | 8 | if (tcp->currpers == 1) { |
Dmitry V. Levin | 0c8c5c9 | 2015-11-29 00:06:45 +0000 | [diff] [blame] | 9 | arm_get_error(tcp, check_errno); |
| 10 | return; |
| 11 | } |
| 12 | |
Dmitry V. Levin | d70d1c4 | 2015-03-22 22:13:55 +0000 | [diff] [blame] | 13 | if (check_errno && is_negated_errno(aarch64_regs.regs[0])) { |
| 14 | tcp->u_rval = -1; |
| 15 | tcp->u_error = -aarch64_regs.regs[0]; |
| 16 | } else { |
| 17 | tcp->u_rval = aarch64_regs.regs[0]; |
| 18 | } |
Dmitry V. Levin | d70d1c4 | 2015-03-22 22:13:55 +0000 | [diff] [blame] | 19 | } |