aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/cleanup-trace-events.pl19
-rw-r--r--scripts/tracetool/format/d.py5
2 files changed, 19 insertions, 5 deletions
diff --git a/scripts/cleanup-trace-events.pl b/scripts/cleanup-trace-events.pl
index e93abc0..d4f0e4c 100755
--- a/scripts/cleanup-trace-events.pl
+++ b/scripts/cleanup-trace-events.pl
@@ -13,6 +13,7 @@
use warnings;
use strict;
+use File::Basename;
my $buf = '';
my %seen = ();
@@ -23,12 +24,19 @@ sub out {
%seen = ();
}
-while (<>) {
- if (/^(disable )?([a-z_0-9]+)\(/) {
- open GREP, '-|', 'git', 'grep', '-lw', "trace_$2"
+$#ARGV == 0 or die "usage: $0 FILE";
+my $in = $ARGV[0];
+my $dir = dirname($in);
+open(IN, $in) or die "open $in: $!";
+chdir($dir) or die "chdir $dir: $!";
+
+while (<IN>) {
+ if (/^(disable |(tcg) |vcpu )*([a-z_0-9]+)\(/i) {
+ my $pat = "trace_$3";
+ $pat .= '_tcg' if (defined $2);
+ open GREP, '-|', 'git', 'grep', '-lw', '--max-depth', '1', $pat
or die "run git grep: $!";
- my $fname;
- while ($fname = <GREP>) {
+ while (my $fname = <GREP>) {
chomp $fname;
next if $seen{$fname} || $fname eq 'trace-events';
$seen{$fname} = 1;
@@ -49,3 +57,4 @@ while (<>) {
}
out;
+close(IN) or die "close $in: $!";
diff --git a/scripts/tracetool/format/d.py b/scripts/tracetool/format/d.py
index 78397c2..c7cb2a9 100644
--- a/scripts/tracetool/format/d.py
+++ b/scripts/tracetool/format/d.py
@@ -33,6 +33,11 @@ def generate(events, backend, group):
events = [e for e in events
if "disable" not in e.properties]
+ # SystemTap's dtrace(1) warns about empty "provider qemu {}" but is happy
+ # with an empty file. Avoid the warning.
+ if not events:
+ return
+
out('/* This file is autogenerated by tracetool, do not edit. */'
'',
'provider qemu {')