diff --git a/frysk-0.4-flushstat.patch b/frysk-0.4-flushstat.patch new file mode 100644 index 0000000..ac3d473 --- /dev/null +++ b/frysk-0.4-flushstat.patch @@ -0,0 +1,26 @@ +diff -up frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceProc.java.flushstat frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceProc.java +--- frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceProc.java.flushstat 2010-03-30 14:06:41.000000000 -0400 ++++ frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceProc.java 2010-03-30 14:44:09.000000000 -0400 +@@ -244,6 +244,9 @@ public class LinuxPtraceProc extends Liv + return stat; + } + private Stat stat; ++ void flushStat() { ++ stat = null; ++ } + + public String getCommand() { + return getStat().comm; +diff -up frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java.flushstat frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java +--- frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java.flushstat 2010-03-30 14:06:41.000000000 -0400 ++++ frysk-0.4/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java 2010-03-30 14:44:32.000000000 -0400 +@@ -867,7 +867,8 @@ abstract class LinuxPtraceTaskState exte + } + LinuxPtraceTaskState handleExecedEvent(LinuxPtraceTask task) { + fine.log("handleExecedEvent", task); +- ((LinuxPtraceProc)task.getProc()).getStat().scan(task.tid); ++ ++ ((LinuxPtraceProc)task.getProc()).flushStat(); + + // All breakpoints have been erased. We need to + // explicitly tell those attached to the current Task. diff --git a/frysk-0.4-ftrace.patch b/frysk-0.4-ftrace.patch new file mode 100644 index 0000000..63a8607 --- /dev/null +++ b/frysk-0.4-ftrace.patch @@ -0,0 +1,38 @@ +diff -up frysk-0.4/frysk-core/frysk/bindir/ftrace.xml-in.ftrace frysk-0.4/frysk-core/frysk/bindir/ftrace.xml-in +--- frysk-0.4/frysk-core/frysk/bindir/ftrace.xml-in.ftrace 2010-03-30 14:56:44.000000000 -0400 ++++ frysk-0.4/frysk-core/frysk/bindir/ftrace.xml-in 2010-03-30 15:01:54.000000000 -0400 +@@ -77,7 +77,8 @@ + + + ftrace +- -c ++ -f ++ -follow + -dl + -m + -o=FILE +@@ -118,9 +119,10 @@ + + + +- -c ++ -f ++ -follow + +- Trace children: automatically attach to forks of ++ Follow children: automatically attach to forks of + traced process. + + +diff -up frysk-0.4/frysk-core/frysk/bindir/TestFtrace.java.ftrace frysk-0.4/frysk-core/frysk/bindir/TestFtrace.java +--- frysk-0.4/frysk-core/frysk/bindir/TestFtrace.java.ftrace 2010-03-30 14:56:36.000000000 -0400 ++++ frysk-0.4/frysk-core/frysk/bindir/TestFtrace.java 2010-03-30 15:00:32.000000000 -0400 +@@ -65,7 +65,7 @@ public class TestFtrace extends TestLib + "-sys=", + "/bin/ls" + }); +- e.expect("execve"); ++ e.expect("attached"); + e.expect("close"); + } + diff --git a/frysk.spec b/frysk.spec index 625eb4d..717e2a2 100644 --- a/frysk.spec +++ b/frysk.spec @@ -1,7 +1,7 @@ Summary: Execution analysis and debugging tool-suite. Name: frysk Version: 0.4 -Release: 25%{?dist} +Release: 26%{?dist} # antlrv2 is Public Domain; antlrv3 is BSD. # getopt is GPLv2 with exception @@ -35,6 +35,8 @@ Patch12: frysk-0.4-taskstoperr.patch Patch13: frysk-0.4-lostfork.patch Patch14: frysk-0.4-nooptimize.patch Patch15: frysk-0.4-skipdecl.patch +Patch16: frysk-0.4-flushstat.patch +Patch17: frysk-0.4-ftrace.patch Patch100: frysk-0.4-aclocaljavac.patch @@ -167,6 +169,8 @@ mv frysk-core/frysk/util/ProcStopUtil.java frysk-core/frysk/util/TaskStopUtil.ja %patch13 -p1 -z .lostfork %patch14 -p1 -z .nooptimize %patch15 -p1 -z .skipdecl +%patch16 -p1 -z .flushstat +%patch17 -p1 -z .ftrace %if %{fedora}0 >= 130 %patch100 -p1 -z .aclocaljavac @@ -358,6 +362,12 @@ rm -rf %{buildroot} %{_mandir}/man1/frysk.1.gz %changelog +* Tue Mar 30 2010 Andrew Cagney - 0.4-26 +- during an exec, flush the cached "stat", don't re-read it - + frysk-0.4-flushstat.patch +- document ftrace's -f/-follow option, update tests - + frysk-0.4-ftrace.patch + * Tue Mar 30 2010 Andrew Cagney - 0.4-25 - for stack tests use a pragma to reduce optimization level - frysk-0.4-nooptimize