]> granicus.if.org Git - strace/commitdiff
Make printing of utsname.domainname more portable
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 1 May 2012 20:56:32 +0000 (20:56 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 1 May 2012 20:56:32 +0000 (20:56 +0000)
* configure.ac: Check for struct utsname.domainname field.
* process.c (sys_uname): Print utsname.domainname when the field is
available.

configure.ac
process.c

index 879ad9a9765ba6e5d35298a095a00172777c4583..ec8db2d1e5adde4537b5426a613226acc0c472ce 100644 (file)
@@ -232,6 +232,8 @@ AC_CHECK_MEMBERS([struct sigcontext.sc_hi2],,, [#include <signal.h>
 # 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([
index 8824abd1c1d68d45a08f349555998aacb70d2385..fa304e5886a6a6e6bb29af02b45787ca50696abd 100644 (file)
--- a/process.c
+++ b/process.c
@@ -1175,7 +1175,7 @@ sys_uname(struct tcb *tcp)
                        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("}");