x86_64, x32: fix sys_sigreturn

On x86_64/x32, sys_sigreturn is defined only for i386 personality.

* signal.c (sys_sigreturn): Define for X32.
(sys_sigreturn) [X86_64 || X32]: Implement for i386 personality only.
This commit is contained in:
Дмитрий Левин 2015-02-23 16:18:09 +00:00
parent b2d9ff29d0
commit 5dd336bb4e

@ -735,9 +735,10 @@ sys_sigreturn(struct tcb *tcp)
return 0;
tprintsigmask_addr(") (mask ", sc.oldmask);
}
#elif defined(I386) || defined(X86_64)
# if defined(X86_64)
if (current_personality == 0) /* 64-bit */
#elif defined I386 || defined X86_64 || defined X32
# ifndef I386
/* sys_sigreturn is i386 personality only */
if (current_personality != 1)
return 0;
# endif
if (entering(tcp)) {