Mercurial > illumos > illumos-gate
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 */