tests: run tests for each supported personality

When strace supports more than one personality, run test suite
for each personality supported by the host system.

* bootstrap: Create tests-m32 and tests-mx32 subtrees from tests.
* configure.ac: Check for -m32 and -mx32 runtime support.
(AC_CONFIG_FILES): Add tests-m32/Makefile and tests-mx32/Makefile.
* Makefile.am [HAVE_M32_RUNTIME] (TESTS_M32): Define.
[HAVE_MX32_RUNTIME] (TESTS_MX32): Define.
(SUBDIRS): Add $(TESTS_M32) $(TESTS_MX32).
* .gitignore: Add /tests-m32 and /tests-mx32.
diff --git a/configure.ac b/configure.ac
index 315d078..ea55c6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -816,5 +816,33 @@
 	fi
 fi
 
-AC_CONFIG_FILES([Makefile tests/Makefile])
+have_m32=no
+case "$arch" in
+	aarch64|powerpc64|sparc64|tile|x32|x86_64)
+	AC_MSG_CHECKING([for -m32 runtime support])
+	saved_CFLAGS="$CFLAGS"
+	CFLAGS="$CFLAGS -m32"
+	AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return 0;}]])],
+		[have_m32=yes],[have_m32=no],[have_m32=no])
+	CFLAGS="$saved_CFLAGS"
+	AC_MSG_RESULT($have_m32)
+	;;
+esac
+AM_CONDITIONAL([HAVE_M32_RUNTIME], [test "$have_m32" = yes])
+
+have_mx32=no
+case "$arch" in
+	x86_64)
+	AC_MSG_CHECKING([for -mx32 runtime support])
+	saved_CFLAGS="$CFLAGS"
+	CFLAGS="$CFLAGS -mx32"
+	AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return 0;}]])],
+		[have_mx32=yes],[have_mx32=no],[have_mx32=no])
+	CFLAGS="$saved_CFLAGS"
+	AC_MSG_RESULT($have_mx32)
+	;;
+esac
+AM_CONDITIONAL([HAVE_MX32_RUNTIME], [test "$have_mx32" = yes])
+
+AC_CONFIG_FILES([Makefile tests/Makefile tests-m32/Makefile tests-mx32/Makefile])
 AC_OUTPUT