Use the setresuid32 system call if it is available, prefering
it over setresuid. If both system calls exist, setresuid
is the 16-bit variant. This fixes a build failure on
sparcv9-linux-gnu.
static void
change_thread_ids (void)
{
+#ifdef __NR_setresuid32
+ /* Prefer 32-bit setresuid32 over 16-bit setresuid. */
+ long ret = syscall (__NR_setresuid32, 2001, 2002, 2003);
+#else
long ret = syscall (__NR_setresuid, 2001, 2002, 2003);
+#endif
if (ret != 0)
FAIL ("setresuid (2001, 2002, 2003): %ld", ret);
}