diff options
author | Ali Bahrami <Ali.Bahrami@Sun.COM> | 2009-07-29 09:36:17 -0600 |
---|---|---|
committer | Ali Bahrami <Ali.Bahrami@Sun.COM> | 2009-07-29 09:36:17 -0600 |
commit | bcddb6779a6655c3d06d4cebc85548da46445b4a (patch) | |
tree | c5993c0ef05097ae9bdff8f840245c5920f377fa /usr/src/cmd/truss | |
parent | 7d11f38e3afb613f50d948591e7cfd898f8c5acb (diff) | |
download | illumos-gate-bcddb6779a6655c3d06d4cebc85548da46445b4a.tar.gz |
6861993 "truss" does not understand flags used by mmapobj(2)
Diffstat (limited to 'usr/src/cmd/truss')
-rw-r--r-- | usr/src/cmd/truss/print.c | 22 | ||||
-rw-r--r-- | usr/src/cmd/truss/print.h | 7 | ||||
-rw-r--r-- | usr/src/cmd/truss/systable.c | 2 |
3 files changed, 26 insertions, 5 deletions
diff --git a/usr/src/cmd/truss/print.c b/usr/src/cmd/truss/print.c index 882497b4c6..38f43f4816 100644 --- a/usr/src/cmd/truss/print.c +++ b/usr/src/cmd/truss/print.c @@ -780,6 +780,27 @@ prt_mty(private_t *pri, int raw, long val) /* print mmap() mapping type flags */ 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 @@ void (* const Print[])() = { 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 */ }; diff --git a/usr/src/cmd/truss/print.h b/usr/src/cmd/truss/print.h index e2d8b59100..f816741945 100644 --- a/usr/src/cmd/truss/print.h +++ b/usr/src/cmd/truss/print.h @@ -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 @@ extern "C" { #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 */ /* diff --git a/usr/src/cmd/truss/systable.c b/usr/src/cmd/truss/systable.c index 9fa1a5a9fd..2a9654ba41 100644 --- a/usr/src/cmd/truss/systable.c +++ b/usr/src/cmd/truss/systable.c @@ -347,7 +347,7 @@ const struct systable systable[] = { {"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 */ |