changeset 10198:34520123946e

6861993 "truss" does not understand flags used by mmapobj(2)
author Ali Bahrami <Ali.Bahrami@Sun.COM>
date Wed, 29 Jul 2009 09:36:17 -0600
parents 254a1a1c96d5
children 8fcdb07a91c5
files usr/src/cmd/truss/print.c usr/src/cmd/truss/print.h usr/src/cmd/truss/systable.c
diffstat 3 files changed, 26 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/truss/print.c	Wed Jul 29 11:18:44 2009 -0400
+++ b/usr/src/cmd/truss/print.c	Wed Jul 29 09:36:17 2009 -0600
@@ -780,6 +780,27 @@
 		outstring(pri, s);
 }
 
+void
+prt_mob(private_t *pri, int raw, long val) /* print mmapobj() flags */
+{
+	if (val == 0)
+		prt_dec(pri, 0, val);
+	else if (raw || (val & ~(MMOBJ_PADDING|MMOBJ_INTERPRET)) != 0)
+		prt_hhx(pri, 0, val);
+	else {
+#define	CBSIZE	sizeof (pri->code_buf)
+		char *s = pri->code_buf;
+
+		*s = '\0';
+		if (val & MMOBJ_PADDING)
+			(void) strlcat(s, "|MMOBJ_PADDING", CBSIZE);
+		if (val & MMOBJ_INTERPRET)
+			(void) strlcat(s, "|MMOBJ_INTERPRET", CBSIZE);
+		outstring(pri, s + 1);
+#undef CBSIZE
+	}
+}
+
 /*ARGSUSED*/
 void
 prt_mcf(private_t *pri, int raw, long val)	/* print memcntl() function */
@@ -2704,5 +2725,6 @@
 	prt_fxf,	/* FXF -- print forkx() flags */
 	prt_spf,	/* SPF -- print rctlsys_projset() flags */
 	prt_un1,	/* UN1 -- as prt_uns except for -1 */
+	prt_mob,	/* MOB -- print mmapobj() flags */
 	prt_dec,	/* HID -- hidden argument, make this the last one */
 };
--- a/usr/src/cmd/truss/print.h	Wed Jul 29 11:18:44 2009 -0400
+++ b/usr/src/cmd/truss/print.h	Wed Jul 29 09:36:17 2009 -0600
@@ -19,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -30,8 +30,6 @@
 #ifndef	_TRUSS_PRINT_H
 #define	_TRUSS_PRINT_H
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.6   */
-
 #ifdef	__cplusplus
 extern "C" {
 #endif
@@ -135,7 +133,8 @@
 #define	FXF	93		/* print forkx flags */
 #define	SPF	94		/* print rctlsys_projset flags */
 #define	UN1	95		/* unsigned except for -1 */
-#define	HID	96		/* hidden argument, don't print */
+#define	MOB	96		/* print mmapobj() flags */
+#define	HID	97		/* hidden argument, don't print */
 				/* make sure HID is always the last member */
 
 /*
--- a/usr/src/cmd/truss/systable.c	Wed Jul 29 11:18:44 2009 -0400
+++ b/usr/src/cmd/truss/systable.c	Wed Jul 29 09:36:17 2009 -0600
@@ -347,7 +347,7 @@
 {"lxstat",	3, DEC, NOV, DEC, STG, HEX},			/* 124 */
 {"fxstat",	3, DEC, NOV, DEC, DEC, HEX},			/* 125 */
 {"xmknod",	4, DEC, NOV, DEC, STG, OCT, HEX},		/* 126 */
-{"mmapobj",	5, DEC, NOV, DEC, HEX, HEX, HEX, HEX},		/* 127 */
+{"mmapobj",	5, DEC, NOV, DEC, MOB, HEX, HEX, HEX},		/* 127 */
 {"setrlimit",	2, DEC, NOV, RLM, HEX},				/* 128 */
 {"getrlimit",	2, DEC, NOV, RLM, HEX},				/* 129 */
 {"lchown",	3, DEC, NOV, STG, DEC, DEC},			/* 130 */