--- /dev/null
+#include <stdio.h>
+#include <sys/personality.h>
+
+int main(void)
+{
+ const unsigned int test_pers =
+ SHORT_INODE | WHOLE_SECONDS | STICKY_TIMEOUTS;
+ const unsigned int saved_pers = personality(0);
+
+ printf("personality\\(PER_LINUX\\) = %#x \\([^)]*\\)\n", saved_pers);
+ personality(test_pers);
+ puts("personality\\(SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS\\)"
+ " = 0 \\(PER_LINUX\\)");
+ personality(saved_pers);
+ printf("personality\\([^)]*\\) = %#x"
+ " \\(SHORT_INODE\\|WHOLE_SECONDS\\|STICKY_TIMEOUTS\\)\n",
+ test_pers);
+
+ return 0;
+}
--- /dev/null
+#!/bin/sh
+
+# Check personality syscall decoding.
+
+. "${srcdir=.}/init.sh"
+
+run_prog > /dev/null
+OUT="$LOG.out"
+run_strace -a22 -epersonality $args > "$OUT"
+match_grep "$LOG" "$OUT"
+rm -f "$OUT"
+
+exit 0