Make printing of utsname.domainname more portable

* configure.ac: Check for struct utsname.domainname field.
* process.c (sys_uname): Print utsname.domainname when the field is
available.
diff --git a/configure.ac b/configure.ac
index 879ad9a..ec8db2d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -232,6 +232,8 @@
 # include <asm/sigcontext.h>
 #endif])
 
+AC_CHECK_MEMBERS([struct utsname.domainname],,, [#include <sys/utsname.h>])
+
 AC_CHECK_DECLS([sys_errlist])
 AC_CHECK_DECLS([sys_siglist, _sys_siglist],,, [#include <signal.h>])
 AC_CHECK_DECLS(m4_normalize([
diff --git a/process.c b/process.c
index 8824abd..fa304e5 100644
--- a/process.c
+++ b/process.c
@@ -1175,7 +1175,7 @@
 			tprintf("release=\"%s\", version=\"%s\", ",
 				uname.release, uname.version);
 			tprintf("machine=\"%s\"", uname.machine);
-#if defined(_GNU_SOURCE) && defined(__GLIBC__)
+#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
 			tprintf(", domainname=\"%s\"", uname.domainname);
 #endif
 			tprints("}");