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.
diff --git a/signal.c b/signal.c
index a8cb017..30358a1 100644
--- a/signal.c
+++ b/signal.c
@@ -735,9 +735,10 @@
 			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)) {