Dmitry V. Levin
c37173f76d
Let native 64-bit personality be personality 0, and 32-bit personality be personality 1, to follow the traditional layout used for other architectures. * defs.h [AARCH64]: Swap PERSONALITY0_WORDSIZE and PERSONALITY1_WORDSIZE, remove DEFAULT_PERSONALITY. [AARCH64 && HAVE_M32_MPERS]: Rename PERSONALITY1_* to PERSONALITY0_*. * file.c [AARCH64 || defined X86_64 || defined X32]: Define STAT32_PERSONALITY for AARCH64 as well. * syscall.c (update_personality) [AARCH64]: Adjust PERSONALITY_NAMES. * linux/aarch64/errnoent1.h: Adjust comment. * linux/aarch64/get_error.c (get_error): Adjust tcp->currpers check. * linux/aarch64/get_syscall_args.c (get_syscall_args): Likewise. * linux/arm/arch_sigreturn.c (arch_sigreturn) [AARCH64]: Likewise. * linux/aarch64/get_scno.c (arch_get_scno): Adjust update_personality invocations. * linux/aarch64/ioctls_arch0.h: Swap with ... * linux/aarch64/ioctls_arch1.h: ... this file. * linux/aarch64/ioctls_inc0.h: Swap with ... * linux/aarch64/ioctls_inc1.h: ... this file. * linux/aarch64/syscallent.h: Swap with ... * linux/aarch64/syscallent1.h: ... this file.
20 lines
393 B
C
20 lines
393 B
C
#define get_error arm_get_error
|
|
#include "arm/get_error.c"
|
|
#undef get_error
|
|
|
|
static void
|
|
get_error(struct tcb *tcp, const bool check_errno)
|
|
{
|
|
if (tcp->currpers == 1) {
|
|
arm_get_error(tcp, check_errno);
|
|
return;
|
|
}
|
|
|
|
if (check_errno && is_negated_errno(aarch64_regs.regs[0])) {
|
|
tcp->u_rval = -1;
|
|
tcp->u_error = -aarch64_regs.regs[0];
|
|
} else {
|
|
tcp->u_rval = aarch64_regs.regs[0];
|
|
}
|
|
}
|