From owner-freebsd-bugs Wed Mar 7 6:50:35 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 5861037B719 for ; Wed, 7 Mar 2001 06:50:05 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f27Eo5357779; Wed, 7 Mar 2001 06:50:05 -0800 (PST) (envelope-from gnats) Received: from buddy.chakat.com (buddy.chakat.com [209.151.93.210]) by hub.freebsd.org (Postfix) with ESMTP id 5919137B718 for ; Wed, 7 Mar 2001 06:48:55 -0800 (PST) (envelope-from woodjr@buddy.chakat.com) Received: (from woodjr@localhost) by buddy.chakat.com (8.11.2/8.11.1) id f24ExQi46221; Sun, 4 Mar 2001 14:59:26 GMT (envelope-from woodjr) Message-Id: <200103041459.f24ExQi46221@buddy.chakat.com> Date: Sun, 4 Mar 2001 14:59:26 GMT From: woodjr@chakat.com Reply-To: woodjr@chakat.com To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: bin/25587: truss(1) enhancements Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 25587 >Category: bin >Synopsis: Add Solaris-like functionality to truss(1): -f, -d, and -D >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Mar 07 06:50:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Jamey Wood >Release: FreeBSD 5.0-CURRENT i386 >Organization: None >Environment: System: FreeBSD buddy.chakat.com 5.0-CURRENT FreeBSD 5.0-CURRENT #5: Thu Mar 1 20:44:25 GMT 2001 root@buddy.chakat.com:/usr/src/sys/compile/buddy i386 >Description: The included code changes alter truss(1) to support flags present in Solaris's truss(1). The most notable of these is the -f flag, which causes truss to trace any children forked while a process is being traced. A small change to kern_fork.c and pioctl.h were necessary to add flags to cause such children to inherit the procfs-based trace settings of their parent. The -d and -D flags are inspired by changed added in in Solaris 7's truss, and add timestamps to the truss output. The -d flag causes timestamps to be included showing time elapsed at each event since the start of the trace. The -D flag causes timestamps which show time elapsed since the last event. Finally, I moved as many of the global vars as possible into a trussinfo struct which is passed as an argument to most procedures. I have attempted to change the alpha-specific code in truss(1) to also support these features, but I do not have an alpha FreeBSD environment on which to test. I have included three diff's and one new file (/usr/src/usr.bin/truss/truss.h) in the "Fix" section, as a uuencoded tar file. >How-To-Repeat: N/A >Fix: begin 644 truss_files.tar M=')U7,O7-C86QL+F@B M"B`@"B`@7-C86QL'1E7-C86QLF5O9BAS>7-C M86QL;F%M97,I("\@7-C86QL7V5N=')Y*'-T7-C86QLPHA M("`@("!F<')I;G1F*&]U=&9I;&4L("(M+2!53DM.3U=.(%-94T-!3$P@)60@ M+2U<;B(L('-Y7-C86QL73L*("`@(&EF("@A9G-C+FYA;64I('L*(2`@("`@ M9G!R:6YT9BAT7-C86QL("5S("TM('-E M='1I;F<@87)G71E;2!C86QL(&YU;6)EPH@("`@8VAA71E;2!C86QL(&YU;6)E&ET*'-T2X*("`@("`J+PH@(`HA("`@<')I;G1?7-C M86QL7W)E="AT'1E M'1E7-C86QL MF5O9BAS>7-C86QL;F%M97,I("\@7-C86QL+F@^"B`@"BL@(VEN8VQU9&4@ M(G1R=7-S+F@B"B`@(VEN8VQU9&4@(G-YF5O9BAS>7-C86QL;F%M97-;,%TI.PHJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ M(#$P."PQ,30@*BHJ*@H@("`J+PH@(`H@('9O:60*(2!I,S@V7W-Y2AS=')U8W0@=')UPH@("`@8VAAR`P('T["B`@("!I;G0@PHA("`@("!S<')I;G1F*&)U9BP@(B]P7-C86QL73L*("`@(&EF("@A9G-C+FYA;64I('L*(2`@("`@9G!R M:6YT9BAO=71F:6QE+"`B+2T@54Y+3D]73B!365-#04Q,("5D("TM7&XB+"!S M>7-C86QL*3L*("`@('T*("`*("`@(&EF("AN87)G7-C86QL(#P@,"!\ M?"!S>7-C86QL(#X@;G-Y7-C86QL;F%M97-; M7-C86QL("5S("TM('-E='1I M;F<@87)G71E;2!C86QL(&YU;6)E&ET M*&EN="!P:60L(&EN="!S>7-C86QL*2!["B`@("!C:&%R(&)U9ELS,ET["B`@ M("!S=')U8W0@2P@86X@97)R;W(@PHA M("`@("!S<')I;G1F*&)U9BP@(B]PPHA("`@("`@(&9PPHA("`@("`@(&9P M2X*("`@("`J+PH@(`HA("`@<')I;G1?"YC("]U7-C86QL+F@B"B`@"B`@%]S>7-C86QL'1E M7-C86QL2AI;G0@<&ED+"!I;G0@;F%R9W,I('L*("`@(&-H87(@ M8G5F6S,R73L*("`@('-TPHA("`@("!S M<')I;G1F*&)U9BP@(B]P%]S>7-C86QL7V5N=')Y M*'-TPHA("`@("`@(&9P7-C86QL(#P@,"!\?"!S>7-C86QL(#X@;G-Y%]S>7-C86QL;F%M97-;7-C86QL73L*("`@(&EF("@A;'-C M+FYA;64I('L*(2`@("`@9G!R:6YT9BAT%]V9F]R:R(I*2DI"B$@("!["B$@("`@('1R=7-S:6YF;RT^:6Y?9F]R:R`] M(#$["B`@("!]"B`@"B`@("!I9B`H;F%R9W,@/3T@,"D**BHJ*BHJ*BHJ*BHJ M*BHJ"BHJ*B`Q,S@L,30T("HJ*BH*("`@("`@;'-C+FYA7-C86QL("5S("TM('-E='1I;F<@87)G M7-C86QL("5S("TM('-E='1I;F<@87)G%]E M>&5C=F4B*2!\?"`APHA M("`@("!P7-C86QL*'1R=7-S:6YF;RP@;'-C+FYA;64L(&QS8RYN M87)G&ET*&EN="!P:60L(&EN M="!S>7-C86QL*2!["B`@("!C:&%R(&)U9ELS,ET["B`@("!S=')U8W0@%]S>7-C86QL7V5X:70H MPH@ M("`@8VAA'1E7-C86QL M7V5N=')Y*&EN="P@:6YT*3L*(2!E>'1E%]S>7-C M86QL7V5N=')Y*&EN="P@:6YT*3L*(2!E>'1E2AS=')U8W0@=')U2AS=')U8W0@=')U%]S>7-C86QL7V5N M=')Y*'-T'1E&ET*'-TPH@ M("`@9G!R:6YT9BAS=&1E7!E.PHA("`@ M=F]I9"`H*F5N=&5R7W-Y&ET7W-YR`B1G)E94)31"!%3$8B+"!A;'!H85]S M>7-C86QL7V5N=')Y+"!A;'!H85]S>7-C86QL7V5X:70@?2P*+2TM(#@X+#DU M("TM+2T*("`@*B\*("!S=')U8W0@97A?='EP97,@>PH@("`@8VAA7-C86QL*2AS=')U8W0@=')U&ET7W-YR`B1G)E94)31"!%3$8B+"!A;'!H85]S>7-C86QL7V5N M=')Y+"!A;'!H85]S>7-C86QL7V5X:70@?2P**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ M*B`Q,3$L,3(S("HJ*BH*("`@*B\*("`*("!S=&%T:6,@7!E6S,R M73L*("`@(&EN="!F9#L*("`*(2`@('-PPHM+2T@,3`Y+#$R,2`M+2TM"B`@ M("HO"B`@"B`@%]T>7!E7!E M*'-TPH@("`@7!E M+"`B+W!R;V,O)60O971Y<&4B+"!TPHJ*BHJ*BHJ*BHJ*BHJ*BH**BHJ(#$T."PQ-C0@*BHJ*@H@("`@:6YT(&EN M7V5X96,@/2`P.PH@("`@8VAAPH@("`@("!C M87-E("=P)SH)+RH@F4@=&AE M('1R=7-S:6YF;R!S=')U8W0@*B\**R`@(&EF("@H=')UPH@("`@("!S=VET8V@@*&,I('L*("`@("`@8V%S92`G M<"R`O M*B!5"@Q+"`B8V%N M;F]T(&]P96X@)7,B+"!F;F%M92D["B`@("!]"B`@"BTM+2`Q.#$L,3DQ("TM M+2T*("`@('T*("`*("`@(&%C("T](&]P=&EN9#L@878@*ST@;W!T:6YD.PHA M("`@:68@*"AT"@Q+"`B8V%N;F]T M(&]P96X@)7,B+"!F;F%M92D["B`@("!]"B`@"BHJ*BHJ*BHJ*BHJ*BHJ*@HJ M*BH@,3@Q+#$X.2`J*BHJ"B`@("`@*B!T:&5N('=E(')E&5C=F4H*2X*("`@("`J+PH@(`HA("`@4')O8V9D(#T@PH@("`@("!I;G0@=F%L(#T@,#L*("`*+2TM(#(Q-2PR,SD@+2TM+0H@("`@ M("H@8F4@=V]K96X@=7`L(&5I=&AE&ET*"D@;W(@:6X@97AE8W9E M*"DN"B`@("`@*B\*("`*(2!35$%25%]44D%#13H*(2`@(%!R;V-F9"`]('-T M87)T7W1R86-I;FPH@("`@("`@('-W:71C:"AI(#T@<&9S+G=H>2D@>PH@("`@ M("`@(&-A7-C86QL*'!I9"P@ M<&9S+G9A;"D["B`@"6)R96%K.PH@("`@("`@(&-A7-C86QL(&5X:70N("!)="!A;'-O+`HM+2T@,C0R+#(U M,R`M+2TM"B`@("`@(&5LPH@("`@("`@('-W:71C:"AI(#T@<&9S+G=H M>2D@>PH@("`@("`@(&-A7-C M86QL*'1R=7-S:6YF;RP@<&9S+G9A;"D["B$@"6=E='1I;65O9F1A>2@F=')U M7-C86QL(&5X:70N("!)="!A;'-O+`HJ*BHJ M*BHJ*BHJ*BHJ*BH**BHJ(#(S-BPR-C<@*BHJ*@H@(`D@(&EN7V5X96,@/2`P M.PH@(`D@(&)R96%K.PH@(`E]"B$@"69U;F-S+3YE>&ET7W-Y&5C(#T@ M,3L*("`)8G)E86L["B`@("`@("`@9&5F875L=#H*(2`)9G!R:6YT9B`H;W5T M9FEL92P@(E!R;V-E&ET*2!["B`@("`@(&EF("AS:6=E>&ET M(#T](%-)1U%5250I"B`@("`@("`@97AI="AS:6=E>&ET*3L*+2TM(#(U.2PS M,#D@+2TM+0H@(`D@(&EN7V5X96,@/2`P.PH@(`D@(&)R96%K.PH@(`E]"B$@ M"B$@"6EF("AT7-C86QL*'1R=7-S:6YF;RP@<&9S+G9A M;"D["B$@"B$@"2`@+RH*(2`)("`@*B!&;W)K(&$@;F5W(&-O<'D@;V8@;W5R M7-C86QL*'1R=7-S:6YF;RP@<&9S+G9A M;"D["B`@"6)R96%K.PH@("`@("`@(&-A&ET+"!R=F%L(#T@)6QU7&XB+"!P9G,N=F%L*3L*("`)8G)E86L[ M"B`@("`@("`@8V%S92!37T5814,Z"B$@"69U;F-S(#T@7!E*'1R M=7-S:6YF;RD["B`@"6EN7V5X96,@/2`Q.PH@(`EB&ET*'-I9V5X:70I M.PID:69F("UC("UR("]U7-C86QL7W)E="AS M=')U8W0@=')U7-C86QL7,O=&EM M92YH/@HK(`HK("-I;F-L=61E(")T7-C M86QL+F@B"B`@"BL@97AT97)N(&EN="!F;VQL;W=F;W)K'1E'1EPH@("`@("!I9B`H7-C86QL*&]U=&9I;&4L(&YA;64L(&YA MPHA("`@("!F<')I;G1F M*&]U=&9I;&4L("(@15)2(R5D("PHA("`@("!F<')I;G1F*&]U=&9I;&4L M("(@/2`E9"`H,'@E>"E<;B(L(')E='9A;"P@PHA("`@ M("!T:6UE9&EF9BYT=E]S96,@/2!T7-C86QL7W)E="AS=')U8W0@=')UPHA("`@("!F<')I;G1F*'1R=7-S:6YF;RT^;W5T9FEL92P@(B!% M4E(C)60@)R5S)UQN(BP@7-T96T@8V%L;',*("`N4V@@4UE.3U!325,* M("`N3FT*(2`N3W`@1FP@4PH@("Y/<"!&;"!O($%R(&9I;&4*("`N1FP@<"!! M7-T96T@8V%L;',*("`N4V@@4UE.3U!325,*("`N3FT*(2`N3W`@1FP@9F1$ M4PH@("Y/<"!&;"!O($%R(&9I;&4*("`N1FP@<"!!2!F;W)K*"DL"BL@=F9O2!T:&4@<')O8V5S7,O:V5R M;B]K97)N7V9O7,O:V5R;B]K97)N7V9O2D@-"\X+SDT"B$@("H@)$9R965"4T0Z('-R8R]S>7,O:V5R M;B]K97)N7V9O'`@)`H@("`J+PH@(`H@("-I;F-L=61E(")O<'1?:W1R86-E+F@B"BTM M+2`S-BPT,B`M+2TM"B`@("H@4U5#2"!$04U!1T4N"B`@("H*("`@*@E`*",I M:V5R;E]F;W)K+F,)."XV("A"97)K96QE>2D@-"\X+SDT"B$@("H@)$9R965" M4T0Z('-R8R]S>7,O:V5R;B]K97)N7V9O7-C86QL+F@^"B`@(VEN8VQU M9&4@/'-Y7,O<&EO8W1L+F@)4V%T($%U9R`R."`P M,#HU,3HU-2`Q.3DY"BTM+2`O=7-R+W-R8U]#5E,O#`R"2\J($EG;F]R92!5 M240O1TE$(&-H86YG97,@*B\**R`C(&1E9FEN92!01E]&3U)+"3!X,#0)+RH@ M4F5T86EN('-E='1I;F=S(&]N(&9O2!F;W)M7)I9VAT"B`J("`@(&YO=&EC92P@=&AI M#`P,#`P M,#`Q"B-D969I;F4@4D5,051)5D5424U%4U1!35!3(#!X,#`P,#`P,#(*(V1E M9FEN92!!0E-/3%54151)34535$%-4%,@,'@P,#`P,#`P-`HC9&5F:6YE($Y/ M4TE'4R`@("`@("`@("`@("`P>#`P,#`P,#`X"@IS=')U8W0@=')U