AC_CHECK_HEADER([langinfo.h], AC_DEFINE([HAVE_LANGINFO_H], [1], [Have <langinfo.h> header?]))
AC_CHECK_HEADER([malloc.h], AC_DEFINE([HAVE_MALLOC_H], [1], [Have <malloc.h> header?]))
AC_CHECK_HEADER([stdint.h], AC_DEFINE([HAVE_STDINT_H], [1], [Have <stdint.h> header?]))
+AC_CHECK_HEADER([sys/auxv.h], AC_DEFINE([HAVE_SYS_AUXV_H], [1], [Have <sys/auxv.h> header?]))
AC_CHECK_HEADER([sys/ioctl.h], AC_DEFINE([HAVE_SYS_IOCTL_H], [1], [Have <sys/ioctl.h> header?]))
AC_CHECK_HEADER([sys/param.h], AC_DEFINE([HAVE_SYS_PARAM_H], [1], [Have <sys/param.h> header?]))
AC_CHECK_HEADER([sys/ucred.h], AC_DEFINE([HAVE_SYS_UCRED_H], [1], [Have <sys/ucred.h> header?]))
#include "debug-internal.h"
#ifndef _WIN32
# include <pwd.h>
+# ifdef HAVE_SYS_AUXV_H
+# include <sys/auxv.h> // for getauxval()
+# endif
#endif /* !_WIN32 */
*xdg_config_home = getenv("XDG_CONFIG_HOME");
// Environment variables
# endif // !__APPLE__
-# ifdef HAVE_GETEUID
+# if defined(HAVE_SYS_AUXV_H) && defined(AT_SECURE)
+ if (getauxval(AT_SECURE))
+# elif defined(HAVE_GETEUID)
if ((geteuid() != getuid() && getuid()) || getegid() != getgid())
# else
if (!getuid())